Software horror show: SAP Concur
blog.plover.com
blog.plover.com
I'm not kidding you, there's an entire ecosystem around the fact that SAP UI5 is so crap that people cannot use it on their smartphones. And concept-wise it's built very similar to the early jquery-ui releases (remember the first iPhone's menus? Yeah, THAT old), but only in undocumented and even crappier.
I don't even know how to rationalize this anymore. At one point I ditched every company that uses SAP, but it's like the plague. You can't avoid it.
Enterprise IT is like that because the buyer never uses it and often assumes anyone complaining is just whiny/lazy.
A previous employer had a massive outage with an expensive ’Orrible reporting application: down for weeks, developers expecting them to repair corrupted data, etc. They paid many millions of dollars to license that app and millions more for “support”, so you might naively think that someone would demand better results. What actually happened was that the regional sales VP got our VP the corporate box for an NFL game, and Monday morning the edict went out that the problem was resolved and should not be mentioned again. Dozens of people spent the next few weeks continuing to fix things up but understood the message and didn’t include it in their updates to the senior level.
Maybe helmed by a vicious lawnmower?
Edit: indeed it does: https://www.cnbc.com/2021/04/05/google-will-stop-using-oracl...
Sure the UI could be improved, but https://xkcd.com/937/ rule still applies.
The "UI could be improved" is really understating it here - there are low-hanging fruits that could cut down the time spent on data input by factor of 5-10x. This I know for a fact, because I can compare my own experience (e.g. various timesheet & expense forms I used over the years, and the hypothetical case of me preparing the report in Emacs in some structured format, and bulk-importing it to a tool - that's easily a 20x time save), or observation (POS software used in stores today, vs. the DOS-era tools they used just a decade ago - close to 10x the difference).
We're talking extreme waste of money here. Plenty of shops I've seen are bottlenecked on the POS software UI - meaning they either have to let X% of customers go, or support extra registers and personnel. We're talking mental blocks that make people redefine workflows - every place I worked in that required timesheets and expense reports would see people doing them weekly, monthly, or quarterly, instead of daily (as they're supposed to), because the UI is such a time waster that everyone wants to put it off until HR starts complaining, and then back-fill it in bulk. And don't get me started on how shitty UI in healthcare impacts the quality of care...
Bad UI doesn't matter, while the company's exec is golfing with the sales rep from SAP. And after the deal is done the exec has an assistant responsible for filing expenses etc.
What then counts for the exec are the reporting features, where somebody can send them a nice report on all the expense bookings, accounted for tax and all those complicated things, and agreggated per depertment etc. and knowing that expenses which can be passed down to customers are put in the invoicing systems ... that's the area where the value of such systems lies. Not in usability.
Their most recent announcement is the reintroduction of the ability to drag-and-drop receipts onto expenses. Not in the list view where everyone used to do it, mind you, but maybe someday they will bring that feature back as well. Maybe they will eventually bring back their outlook program that lets you upload an email as a receipt too!
So they expand by buying up other companies and slapping their interfaces on it (you shall use HANA and not Oracle or anything else).
As a user, a user interface is literally all I care about, so this seems great to me.
Not every piece of software has to be a consumer app.
Perhaps you're a fields technician. Your assignments are managed by SAP, inventory is managed by SAP, the customer is managed by SAP, you, yourself is a resource managed by SAP. You venture out to fix a wind turbine, now you either need a laptop and remote in to enter things into a convoluted SAP setup and navigate the myriad of screen in that thing, or someone, perhaps SAP (the company) or some smaller company they bought attempted to bolt on a web GUI or a mobile app, as to simplify the work for the technicians.
There is an entire industry designed around building application to abstract away the SAP client and provide simpler interfaces.
SAP produce the lowest cost rags in town, and you will learn to love them.
So, if you are a manufacturing business, MRP is a must and SAP an expensive but solid choice. If you are not, and thus don't need MRP and ERP, well, you wouldn't use a semi truck for your weekly groccery shopping neither.
People who only look at the UI, and then not even the UI of the core funtionality of an ERP system, and then dump on, e.g. SAP (all ERPs are the dame but different in that regard), just show that they have zero clue what those ERPs are supposed to do and how they are supposed to be used.
I will say that it does have good integration between the company card transactions and the expense reporting feature.
I am more mystified than the author at why my 75-mile range electric car offers a default sorted list by full street name, then by state, happily inquiring as to whether I intend to drive 225 miles to my entered street name before a matching entry that’s 4 miles away.
It wasn't _that_ bad for a lot of entry types, but for me what made it a constant problem were hotels. It wanted a daily rate and number of days. Yet our rates were different day by day, and it made you do a separate tax entry. So you're having to BS a close enough "daily rate" and adjust the tax field of a specific day to adjust for any single penny rounding errors. Then there were resort fees or other things, which it would also make you call out but I think it even had a fixed number of "extra fees" input boxes.
For a set of a few non travel expenses it was only a bit worse than any system ought to be. For travel it was practically unusable and for reasons that actually butchered your report
I use Concur and just enter the total and enter X nights in $CITY for a justification. I don't need to enter nightly total much less any sort of breakdowns. As I said in another comment, a LOT of Concur (and expense software generally) pain relates to the hoops a company makes you go through as opposed to the software itself.
When we first implemented Concur, there was a lot of kvetching. A bunch of requirements got dialed down and while there are still a few silly things here and there, they're easy to work around once you know about them and it's mostly just the very random audit thing at this point.
Expensify though, that was like this interview I had where the CEO walked in at the end, introduced himself, and then explained he wanted me to make their web site "Web 2.0!!!" as they pivoted away from their core business. They hit all of the buzzwords. Ugh. Unfinished and buggy to the point where I fired off an angry email to Expensify for being so shit.
That’s how long I’ve been filing expense reports with concur for hotels.
expensify felt like a jr. high coding project and i hated it to the point of putting a time tracking line item in for expense reports.
This surprised me too. Every expense system is ass but at least that saves a lot of data entry.
The issue is a typical moral hazard, where the people who buy the software aren't the ones who have to bear the pain of using it.
The requirements from the finance team were probably all around “expense coding is mandatory” and “pick things from a list to avoid typos”; i.e. things that make their lives easier.
When it came to user experience, it got a ¯\_(ツ)_/¯ or no consideration at all. After all, most finance people rarely if ever travel.
SAP has little incentive to put effort (money) into fixing it, because (1) they’ve got an ecosystem of third parties that do that and also probably serve as resellers or at least evangelists, and (2) complaints are going to help desk, not finance, so SAP’s paying customers aren't advocating for a fix.
Executives are just handing their EA’s a wad of receipts; they don't feel the pain either.
I reluctantly started using a corporate card for most things because I sort of had to. I don't like not getting the personal benefits but it actually does make (most) things easier with Concur. Only real issue is it's harder to split personal and company charges.
A) Scan everything
B) figure out what portion of it needed expensed
C) Fill out expense form
D) send to my manager for approval
After it was sent off, Accounting might just decide to not pay it because no receipt for the coin-op laundry machine I used, when I pointed out it was coin-op laundry, they just shrugged, and then approved it. Meanwhile, while they dicker I'm sitting on multiple thousands of dollars of expenses.
Other issues were making sure I had the correct form, multiple approvals, etc. Now before this process, we used all the same forms but printed out.
Using Concur -
A) the the app to scan my receipts
B) attach receipts to company card expenses
C) deal with some drop downs for some stuff concur has flagged out of process
D) send to manager
Now I lost my per-diem in this, but they cover everything now with the exception of tips to the housekeeper (I've just not tried it yet).
The downside is any payments from the company now take multiple weeks, lol.
Using the excel process, would take me about 1-1.5 hours per week of travel, under Concur its about a about .5-.75 hours per week of travel.
My last employer used some stupid Oracle system to audit the hell out of everything. One time I was flagged for taking a suboptimal route that increased toll expense by $3. Hilarious. I spent like 1.5 hours @ $90 on justification of $3.
Feels like a lot of the goal in these systems is to try enforce rules that no person expense manager could try insist on with a straight face. If even 10% of the company gets scared off by the justification demand and books the inconvenient option, that's $20k/yr saved.
Which is still probably peanuts compared to what Concur costs, but that cost is somebody else's problem to the finance person who gets to claim savings on annual flight costs.
Somebody got fed up and did a general purpose XLS import library, but some sites forbid you using it.
We had some hellish “use Excel as an interface to ‘real SAP’ process” for budgeting/headcount planning and it was almost utility-free for us as users. Even doing copy/paste would break parts of it, but invisibly to the user in real-time but would fail on import days/weeks later.
Of course you can partially prepare for it by making a file where users have to pick things like town name from a scroll down list (hope your list has every town), but they still can get "creative" and mess it up.
The software we used before Concur was definitely better, or maybe it was the original version of the software before SAP bought them, I'm not sure. Prior to the switch, expense reports would take 5-10 minutes. After the switch, more than an hour easily. They made a lot of changes to Concur to try to help speed up the process, and fill gaps where the old software worked great. However, the final product still ended up far less efficient, and far more confusing.
Circula has been good to me. I've submitted maybe 50 expenses with it, it's very easy to use.
Not associated, other than being a (suprised) happy customer.
Whatever Concur's flaws may be, the system we had was obviously worse.
"Wow, you take a photo with your phone and it goes in an app? Wish we had an app. Instead I have to submit it on a website, print the cover page as a PDF, collect all my receipts as further PDFs, merge the PDFs, and then send them via email with a single PDF attachment."
It had to be a single PDF, the system would reject the email if it had more than one attachment. Given it was a computer program not a human at the other end, I never worked out why we had to send it via email, as opposed to just uploading it via a web form.
At least I knew enough to merge the cover page PDF and receipt PDFs into one using Ghostscript. A lot of less technical people, they'd print them all out then scan them back in.
1. Email payroll asking for the right form (an excel sheet would arrive via email)
2. fill out that excel sheet that had no validation at all, just formatting. you enter your bank info, amount, etc. If you needed more lines, you had to "attach another sheet".
3. Then you printed that,
4. signed it,
5. scanned it, and
6. emailed it to payroll@the_company,
7. who would call you and tell you what you did wrong, and then
8. they'd just do what you said over the phone anyway.
Yes, the excel sheet existed for no reason other than to align your typed text on the resulting printed page properly. It of course had giant "Do not edit any cells" on the top in red.
I agree with the author. There’s no reason for it to be like this but incompetence - either at an individual level, system level or both.
It is entirely plausible that a sort is nontrivial.
Downvotes notwithstanding, I stand by my claim that this is always the result of incompetence. Either at the small level (laziness) or at a larger scale (incompetent system design).
I've walked in to so many code based where very talented individuals have made incredibly complex systems, using all their technical know how of best practices & patterns, abstraction layers and facades ... and ignored the fact that all they needed was a three field form with a submit button.
It's not just worth knowing if you can, it's if you should.
The novice creates simple work because she isn't capable. The apprentice makes unnecessarily complex designs to impress. The master makes things simple because extra work would be unnecessary. Mastery isn't measured by much complexity has been added. Its measured by how much complexity has been taken away.
It is the finance department under the auspices of the CFO / the managing director that do. Those people are non-technical and don't understand the technology. Therefore, anything that is more modern than an abacus is pitched (and ususally later sold as well) to them as the best thing they will have ever seen.
The expense categorization system is an abomination that will drive you insane with its constant mistakes and errors. The approval process is a black hole that sucks up your expenses and never spits them back out. I feel SAP Concur is the worst software ever created for expense management, and using it makes me wish I never had to do expenses again.
Expensify is so much better. The OCR isn't great though
As long as the product supports the needs of the buyer (administration and reporting, rules engine for product selection, etc.), the needs of the end-user can be neglected. HRIS software (PeopleSoft, SuccessFactors, Workday, etc.) is the same way. The deals keep close and the checks keep coming in.
I don't think it's fair to say with a lot of this software that no one cares, though, just that the business as a whole adds up to a poor frontline experience.
It would surprise me exactly 0% to learn that there was a whole "improve the Concur UX for frontline users" team who repeatedly get their feature asks deprioritized in favor of something needed to close a deal.
And, also consider that when it comes to these sorts of big enterprise products, many are drowning under 20+ years of trying to support every bizarre customized customer corner case, third-party integration, and often with no ability to deprecate an old feature. Perhaps adding sort capability breaks some arcane customer scripting functionality added ten years ago which is poorly understood, but cannot be removed due to a clause in the MSA.
As far as I'm concerned, that's the definition of enterprise software.
Procurement is one of the core functions of the SAP ecosystem, so those most closely involved in buying it here are usually the ones who will be using it.
Where I work, I also have to use a SAP system for expense reports. I can't even tell you what it's called, but the interface is basically just directly from SAP GUI(except embedded, very poorly, into a website) and every single interaction you perform results in a sync query to the backend, freezing the UI until you get a response.
The worst part is that no one really cares. SAP doesn't care. The users/companies that are stuck with SAP don't really care, or at least if they do, well, no one is going to spend valuable dev time on building their own internal expense registration platform(or whatever) just to fix something that sucks to use, but otherwise "works".
I also have to register my hours, being a consultant, and this also happens via some SAP system. One thing my current project manager told me recently is that the description field that we have to use to describe what work we did is just invisibly cut to 40 characters on the backend. I can freely type a whole essay describing what I did, but the pm reviewing will just see 40 characters.
Assuming that any sort of thought goes into most of SAP's software is like trying to reason about an insane person's behavior. It's completely pointless since there is no reason involved.
When I see software like this, it reeks to me of contractor work. We hire them to handle something that we don’t have time for our core team, and or something not very important.
The result is the devs do a minimal job to get paid. QA doesn’t care and the PMs either didn’t see it, or have bigger fish to fry.
What’s funny is the big consultancies are usually to blame for stupid IT or they make bean counter decisions to not invest in IT. Thus the reason we need chop shops to come in and and help. Oh, and god forbid we add an FTE with domain experience who can help us.
Sometimes consultants are brought in specifically to bypass whatever internal processes are in place. Those internal processes are sometimes the very reason not enough is getting done and external resources are brought in.
> They would call us in when their devs couldn’t/wouldn’t do the work. We were pretty expensive by comparison, but at least we got the job done.
This makes it seem like the developers just didn’t want to do the work or it was harder than their skill level, which, realistically, isn’t the case.
FWIW I agree that consultants have their place, especially as a way to work outside of the typical system, but I’m not about to ignore that GP practically made it sound like consultants are better than regular developers.
The problem IMO is, that on the corporate side, you often don’t have any IT knowledge at all. So they hire consultants to ask them what to do and don’t have any way of confirming if what they are being told is sane advice.
I’m also really shocked by what the likes of McKinsey of Accenture get away with regarding the quality of people they send.
Edit: I guess I misunderstood “high-end” and thought of “large” consulting firms, because those are the ones that pretty much always suck. I’ve had wonderful experiences with small consultancies.
What is your definition of getting the job done? 50% of projects run by consultants fail.
Seriously this level of smug shows how clueless you are.
For ERP impelmentations, failure rate is even more than 50%. Gartner says it is 55% to 75%.
For digital transformations I think the stats are closer to 50%, but it more depends on the company and their project scope. Maybe the poster above makes some small landing pages for micro companies.
For greenfield projects made by agencies "it depends" but usually quality is utter crap. The project "works" but no change is possible easily, so at the end of the day the projects are failures.
https://www2.deloitte.com/content/dam/Deloitte/mx/Documents/...
https://www.pemeco.com/two-big-reasons-erp-implementation-fa...
https://www.linkedin.com/pulse/gartner-75-all-erp-projects-f...
https://venturebeat.com/business/report-orgs-wasted-4-12m-on...?
Individual contractors in my experience tend to be very good (above average) and do care about building quality software - their reputations depend on it.
Agencies on the other hand are a nightmare. I have nothing against junior devs but in my experience agencies love to put junior devs on projects they're unqualified for and then give them bare minimum support and guidance. And obviously they'll happily cut corners because technical debt is their problem so most stuff is hacked together so it just about works, but is utterly unmaintainable.
I find the quality of individual contractors can vary massively. Some are brilliant while others are borderline useless with behavioural problems to boot, yet somehow aren't being fired.
One argument I'll always make in defence of agencies/contractors is that a lot of problems stem from the fact that the client is often not engaged and believes that because they hired you, there's no effort required on their end.
And we can probably wager that a better UX doesn't yield the developer a better pay cheque.
The key thing about enterprise software is that it's never sold to end-users, it's sold to senior managers and executives. The contact that this group will have with the software is to approve transactions (e.g., Reqs, POs, Expense Claims, etc) and maybe view some reports. You can bet that these interactions are very streamlined.
I guess the question that is often missing when these systems are specified and bought is “if we find a trivial but annoying UX papercut issue in the software which is 5 minutes of actual development time, how quickly and how cheaply would we have that fixed once we report the issue?”
Having systems people like is important. I think that often seems to get lost.
Finance purchase Concur because it solves their problems and integrates with their existing tools. They don't care that people hate it, or that it wastes the company's resourcing when people are fighting a broken UI instead of doing their day job.
Normally engineers are shielded from this pattern in their day jobs. But I have worked at companies that have gone the other direction. In one I met with a risk averse gatekeeping team and told them that for a newly acquired product we were not going to be able to meet the (arbitrary) SLO for the glut of tickets they assigned us, and asked for help. Their suggestion was to pull the app from market.
But in reality, those people are rarely if ever the buyer, as in, the person who has the budget and the authority to actually issue a PO. In the size of company that uses an ERP, that person is not going to be Raj in Accounting who likes your webified TrelloAsana travel and expense dashboard, or Sara in IT who enjoyed your demo of the JSON export to PowerBI. Its going to be a committee of Finance EVPs who give a final thumbs up to the CFO to write the check.
The other part to this story is that at this level, SAP (and peers) are using highly skilled partners as force multipliers to sell. I can honestly say after years in technology that I have never actually seen a SAP employee so to me. But I have seen a boatload of folks from Accenture and Deloitte and Tech Mahindra try to sell digital ERP transformation via a $$$$ contract that used SAP in the tech stack.
In short, SAP doesnt need to be the best. It just needs to win the CFO and make partners money.
This is one reason why SAP wins.
Enterprise sales at this level requires a deep understanding of what the buyer values in your product, not what you think is valuable. I dont claim that SAP delivers on these claims (ie I'm not carrying water for them) but they are good at hitting this button.
A quick search for "Concur locations" finds a config guide [1] which says that there is a location code, which should be based on the UN location codes (or at least not conflict with them). The screenshots in the guide suggest that this code is one of the primary sorting elements (which might make a lot of sense).
If the company loads locations without considering this code as a primary sort element and simply abbreviates the location name in English, then you would get the reported effect, I think.
I'm not saying this is a good choice for sorting, nor that there are not better ones, nor that Concur is good software. However, this may be incompetence from the administrator / data loading, rather than from the software developers.
[1] https://www.concurtraining.com/customers/tech_pubs/Docs/_Cur...
On the trip side, the car rental selector is something special. You can't check multiple vendors at once, so if cars are in demand, expect to spend a while discovering you can't get one.
[1] https://www.afar.com/magazine/hipmunk-is-shutting-down-heres...
Also, being at an international company, certain elements are in Japanese, certain elements in English and certain elements in German, no matter what the interface language is set to. Certain fields that do translate have opposite meanings after being translated. It required a company internal instruction to understand.
Never ending warnings you can't turn off and many other small things lead me to skipping small expenses and just eating them, because I can't be bothered to fight Concur.
Sometimes I wonder if this is a "feature not a bug" the company wins and saves money (in the short term)
It probably costs them via reduced employee happiness turnover etc etc indirectly but there is no KPI for that
Anyway, their goal is to move into new business verticals and not really fix the product. They are actually trying to move into the trading and risk management arena in which I work. So far they have one major client that I'm aware of and they are struggling to make it work.
One possible excuse for SAP Concur here, and I am just guessing, is that the sorting is in some kind of customer-specific config setting that the admin needs to setup. I.e. they made it configurable for each client's needs. If you don't set it up it defaults to this "undefined" behaviour. Good defaults are better than this though, so alphabet sorting would come ahead.
This sorting by country and city never worked, it didn't work during my time at Microsoft in 2014 (they replaced it with their own mstravel tool thankfully), nor did it work at SAP in 2018. I frequently travelled from Berlin to Walldorf (in Germany obviously) and it always picked Berlin in Arizona (IIRC?) first. Walldorf it eventually got right, but I do strongly believe somebody just hacked this into first place in the frontend.
But the thing is, SAP is a freakin' huge company and the software is quite old. They are on the right track to make things better (XSA, other data exchange format).
Another funny story is that some customers decided to host their system at SAP. The SAP department (SAP HEC iirc) that took care of updates of the systems planned with 14h per system per update - complete downtime. One customer had 3 systems at SAP, which meant that it took three Sundays until all systems were updated. Since then, most moved to OEDIV for hosting which does a slightly better job.
SAP HANA (the DB) is quite cool though. We had one with 4TB RAM and it was super fast.
"We're looking for someone with experience with ASP and database performance improvements."
"You mean, ASP.net - not old school VB6 derived, interpreted - 'pretty cool for 1997' Active Server Pages - ASP?"
"Hey hey! You're the guy we want!"
Of course I would have taken the job if I'd known they'd be acquired.
edit: Huh, they were acquired in 2014? Ah well - it's like someone's MVP that made it out to production, then they made it big and that MVP kept being glommed onto.
https://amp2.wiwo.de/unternehmen/it/haribo-lidl-deutsche-pos...
https://www.deutschlandfunk.de/bankrotter-us-pharmakonzern-r...
https://www.crm-tech.world/weekly-news/sap-kommt-wegen-produ...
https://www.computerworld.ch/business/business-it/bankrott-s...
https://www.spiegel.de/wirtschaft/unternehmen/sap-deutsche-s...
https://www.augsburger-allgemeine.de/wirtschaft/Weltbild-Sor...
...except that, every once in a while, the receipt just disappears. The receipt picture is gone, but there is no corresponding expense created in any report. As far as I could figure out, it was simply deleted.
So, whenever you scan a receipt, you have to manually track it down to the report where it placed it, to make sure it actually went somewhere and did not get deleted. Or you keep all your paper receipts and spend two hours going through them after the trip.
I tried filing a bug report but quickly realized it was impossible.
Unfortunately, I find it completely unsurprising that any SAP.* product is a dis-organized mess of a kludge, with no rationality evident anywhere.
Oh, and the CIO who foisted that pile of cr*p upon my organisation? She moved on shortly after SAP was implemented -- undoubtedly to foist SAP on some other poor unsuspecting org. I sure hope her SAP stock has tanked.
So, future investors - look at the startups that address the user problems, not the client problems, even though the latter are paying.
Do you think the PMs at Concur just woke up one day and decided to be user hostile because they're asshats? Of course not. They did what the Sales team, and Gartner, told them they needed to give to CFOs so that they would buy it. And then CFOs bought it.
Until someone can quantify the benefit of "better UX" to CFOs, or provide that and all the CFO facing features they want, crappy expense platforms will continue to be the order of the day.
Small quality issues for users would reduce errors, and get expense data reconciled faster. But… by how much? 10%? 20%? No one will care enough to fund a large system replacement for a 10% reduction in expense report filing.
I find it a little hard to see to be honest. Team members might push to use Slack over some other chat solution because they spend all day using that -- I've seen that happen and work. How often do you do expense reports that you're really going to nag the company to buy your favorite solution?
The people who decide that everyone in their company must use SAP Concur are rarely the people who need to file expense reports- they either don't travel much, or they have people under them who take care of it.
Instead the decision will be made based on price. Hiring bad devs and rushing poor quality software out will be a net savings for SAP.
(Edit: here is a full list of homonym cities in my country: https://www.embrapa.br/manual-de-referenciacao/anexo-cidades...)
Concur being based on SAP, forms are built in a kind of "no code" way. There is a generic component "list picker from data table". Usually, for that kind of components, the order is user defined based of the row position in the data table or an index column value. Like first "N/A" then "yes" the "no".
As it is obviously too complicated to manually fill all the cities by hand, this data table was probably setup by a script that didn't mind the order. In addition, the cities data was probably not filled all in one go but incrementally, even with probable late additions when there are report of missing cities.
Actually, this example proves the rule.
Large enterprise applications like this are used by governments and large businesses that must comply with various accounting, legal, and administrative regulations. So vendors like SAP are incentivized to deliver products that take the least amount of effort and incur the least amount of risk while still meeting the twisty little maze of requirements. If bogo-sort is the least-effort way of organizing the location list, bogo-sort it is. For example it may add the locations to a map or hash table, and then iterate over them in an unspecified order.
> displaySelectionList(matches)
> with
> displaySelectionList(matches.sorted())
> They just didn't.
It’s quite possible that it isn’t that simple. Hypothetically: if the user selects the 13th item in the list, how do you, as a programmer, know that was the 42nd in the original list, so that you can send back “42” as the selected item to the backend?
That sorting logic may have to be more complex, and, under time pressure, beyond the means of your average programmer (did matches.sorted() modify the list in place, making a linear search in it for the text of the item not work?).
That’s the one thing that SAP excels in.
Sadly this means that usability falls by the wayside. And while SAP‘s user interfaces are exceptionally bad, their competitors do not exactly prioritise ease of use either.
In this case a subpar user experience is combined with an immature technology stack. SAP infamously stopped supporting 3rd party databases and now require their customers to use the in house HANA database instead. Problem is that HANA is not a great database. Painfully slow and lacks features. In this case, pre-sorted result sets.
HANA - remember the first time we installed that in POSDM - it performed worse than the DB2 install we had before - we upped some settings/buffers/memorty and then they told us to turn on row indexing for one of the core tables (TLOG).
I thought columnar was the magic here - why did we upgrade to this again ???.
Concur talked to us to use our autocomplete DB in their "new" UI because we had better results. We were using the population size of the location to sort bigger place first.
In the end it never went beyond that one call. I think they already had multiple team working on this, not necessary together (there was a big rewrite going full force with micro-service going on).
They serve 2 main purposes.
- Have some process in place to get things done. Speed is not important. - Provide livelihood for hundreds and thousands of average developer ecosystems/SIs. They work hard to keep them alive.
Even micro processors are not immune to long running bugs.
Picking one small thing and demonising a whole team is unfair for them and the company.
Sounds like much ado about nothing.
The US Space Shuttle had the same concept with 4 computers that ran on the same codebase and hardware from IBM that would check each other on critical components (engine burn/flight control) and if one differed it was voted out.
There the issue was radiation induced memory corruption as the software was top tier tested and verified to be bug free as possible (they used ADA)
Is there some open source software system that does similar things?
I hated it, but didn't use the mobile app. I always did my expenses by hand, on my workstation, after travel, and I took notes by hand.
It worked better than the old manual version, we had before it (It can be worse, because it was worse, and I have the scars to prove it).
I'm the one who raises flags that are neatly placed in the furthest down regions of backlogs nice to have sections.
I wouldn't challenge that concur sucks, the fact that you receipts are OCRed from the app but not from the website drove me nuts
No, neither what it is doing or what it ought to be doing is a topological sort. What it is actually doing seems like “return all matching the stem without any sort [or sorted by ID or some other non-relevant value].”
The various things the user suggest are all sorts by fairly simple functions, not the kind of dependency ordering at issue with a topological sort. Choosing the best one to use as a default might be hard, but they aren’t the kind of complex things you can’t implement as a simple order-by once you are set up for it.