Halusimme mitata kehon rasvaa ja päädyimme rakentamaan yli sata laskinta

Alkuperäinen suunnitelma oli hämmästyttävän yksinkertainen. Kolmen kuukauden johdonmukaisen kuntoilun jälkeen vaaka ei liikahtanut, mutta peili kertoi toisenlaisen tarinan. Vaatteet istuivat eri tavalla. Energiataso oli noussut. Ihmiset kommentoivat sitä. Ilmeinen kysymys oli, siirtyikö kehonkoostumus, vaikka kokonaispaino pysyi suunnilleen samana, ja ilmeinen vastaus vaati kehon rasvaosuuden tuntemista, ei pelkästään kehon painoa. Nopea haku "kehon rasva -laskimella" palautti kymmenen mainoksentäyttämää sivustoa, joissa oli pienoisia syötelomakkeita mainoksien ja ponnahduskirjeiden välissä. Ne toimivat teknisesti, mutta kokemus oli kurja. Kirjoita muutamia mittauksia, klikkaa laskea, odota sivun uudelleenlataamista kolmen mainoskriptin kerroksen läpi ja näe lopulta numero ilman kontekstia siitä, mitä se tarkoitti tai miten se vertautui terveisiin alueisiin jonkun ikäiselle ja aktiivisuustasoiselle.

Ajatteluprosessi, joka seurasi, oli sellainen, jonka kehittäjät tunnistavat välittömästi ja siviiliesityksillä pelottava. "Tämä laskin on kamala. Kuinka vaikeaa voi olla rakentaa parempi?" Vastaus tähän kysymykseen on aina sama: ensimmäisen version rakentaminen on helppoa, ja sitten laajuuden ryömintä ottaa haltuunsa siivun mielessä, joka kiipeää seinää. Kehon rasva -laskin valmistui iltapäivällä. Se käytti laivastotyökalua, otti neljä mittausta (kaula, vyötärö, lantio, pituus) ja näytti tuloksen terveisiin alueisiin liittyvällä kontekstilla. Puhdas käyttöliittymä, ei mainoksia, nopea. Valmis. Paitsi että se ei ollut valmis, koska seuraava ajatus oli "no, jos joku tarkistaa kehon rasvan, hän todennäköisesti myös haluaa BMI-arvoaan." Joten BMI-laskin lisättiin. Ja sitten BMR-laskin, koska lepometabolismi on välttämätöntä kaikille, jotka hallitsevat kaloriintakkia. Ja sitten päivittäisen kalorientarpeen laskimen. Ja sitten makrojen laskin. Ja sitten vesitarpeenlaskimen. Jokainen vei päivän tai kaksi ja jokainen tuntui luonnolliselta laajennukselta edellisestä. Laajuus ryömi, mutta se ryömi suuntaan, joka oli järkevä.

Siirtymä terveydestä rahoitukseen tapahtui keskiviikkoillalla, kun tarkasteltiin asuntolainausvaatimuksia. Pankin verkkosivusto tarjosi asuntolainlaskimen, joka oli jotenkin vielä huonompi kuin alkuperäisen haun kehonrasva -laskinten. Se vaati tilin luomisen ennen tulosten näyttämistä. Varsinainen tili, sähköpostivahvistuksella, niille, joilla oli etuoikeus kertoa pääoman korkokannalla ja jakaa kahdellatoista. Olemassa oleva laskin -kehys oli siellä, jo käsittelemässä syötön validointia ja tulosnayttelyä. Asuntolainlaskimen lisääminen kesti vähemmän aikaa kuin pankin rekisteröintiprosessi olisi vaatinut.

Väistämätön laajeneminen kaikkeen, mikä liittyy numeroihin

Kun terveysrahoit ja rahoitusraja katkaistiin, ovet avautuivat tavalla, joka oli sekä jännittävä että hieman huolestuttava. Korkolaskimet tulivat seuraavaksi, koska henkilökohtainen rahoitussuunnittelu riippuu siitä, että ymmärrät kuinka raha kasvaa ajan mittaan ja useimmat olemassa olevat työkalut tekevät käsitteen vaikeammaksi kuin sen täytyy olla. Sitten lainanlyhennyskalkinit, koska jokainen, joka vertailee asuntolainavaatimuksia, myös näkee täydellisen takaisinmaksuaikataulun korkojen jakaantumisella kuukausittain. Sitten ROI-laskinat, koska sijoituspäätöksiin tarvitaan nopeat takaiskun arviot yksityiskohtaisen analyysin alkamisen osalta. Sitten valuutanmuunnos, sitten vinkkilaskinat, sitten säästöjen tavoitteen ennusteet, sitten eläkeplanningin arviot. Jokainen laskin jakoi saman perusarkkitehtuurin: ota strukturoidut tulot, käytä tunnettua kaavaa ja esitä tulos riittävällä kontekstilla, jotta se on välittömästi hyödyllinen.

Matematiikan luokka nousi esiin, kun ystävä, joka opettaa lukiota, kysyi, voiko alusta sisältää prosenttilaskimen opiskelijoille, jotka kamppailevat käsitteen kanssa. Tämä yksittäinen pyyntö synnytti sarjan perusmatemaattisia työkaluja: prosenttilaskinat (mikä on X% Y: stä, X on mikä prosentti Y: sta, prosentuaalinen kasvu ja lasku), murto -desimaalin muuntimet, neliöjuurilaskinat, pinta -ala ja tilavuuslaskinat yleisille muodoille ja yksikkömuuntimet, jotka kattavat pituuden, painon, lämpötilan ja nopeuden. Mikään näistä ei ole teknisesti monimutkaista. Prosenttilasku on triviaali koodi. Mutta kun kiedotat triviaalia koodia selkeällä käyttöliittymällä, selkein otsikoin, hyödyllisin selitysten kanssa ja hetkellisillä tuloksilla ilman sivun uudelleenlatausta, luot työkalun, joka on todella hyödyllisempi kuin matematiikan tekeminen käsin tai etsiminen sotkuiselta verkkosivustolta.

Krypto -voittalaskinat saapuivat ajanjaksolla, kun useita kryptovaluuttapositioita oli arvioitava. Kysymys "jos ostin 0,5 ETH: tä hintaan 2 400 dollaria ja se on nyt 3 100 dollaria, mikä on voittoni 0,1% kaupankäyntimaksun jälkeen?" on suoraviivainen aritmetiikka, mutta sen tekeminen toistuvasti useille kolikoille, joissa on vaihtelevat ostohinnhit, määrät ja maksurakenteen, tulee nopeasti tylsäksi. Krypto -laskin käsittelee ostohinnaa, myyntihintaa, määrää ja maksuja yhdessä lomakkeessa ja näyttää ehdottoman voiton, prosentuaalisen tuoton ja nettotulokset maksujen jälkeen. Se ei yhdisty mihinkään pörssiin eikä vedä live -hintoja. Se on puhtaasti laskentityökalu, mikä on kaikki mitä sen täytyy olla. Live -hinta on pörssin verkkosivustolla. Laskenta on calculator.yeb.to : lla.

Kuinka yksi laskin tuli arkkitehtuuriksi

Tekninen tarina kasvusta yhdestä laskimesta yli sataan on tarina arkkitehtuuripäätöksistä, jotka tehtiin aikaisin ja jotka osoittautuivat yllättävän skaalautuviksi. Ensimmäinen kehonrasvalaskin rakennettiin itsenäisenä sivuna, jossa oli kovakoodatut HTML -lomakekentät ja JavaScript -funktio, joka juoksi laivastopalvelun kaavaa. Viidennen laskimen jälkeen kuvio oli ilmeinen: jokainen laskin ottaa nimettyjen tulojen joukon (pituus, paino, nopeus, pääoma, mikä tahansa), soveltaa kaavaa ja näyttää yhden tai useamman nimetyn tuloksen (kehon rasvaosuus, kuukausimaksu, yhdistetty kokonaismäärä). Jaettu rakenne merkitsi sitä, että yleinen laskinkomponentti voisi käsitellä renderöinnin, validoinnin ja näytön logiikan, kun taas jokainen yksittäinen laskin tarvitsi vain määrittää tuloaan, kaavaa ja tulosotsikoita.

Tämä abstraktion on se, joka teki räjähdyksen kahdestoista laskimesta sataan hallinnolliseksi tuntuvan sijaan ylivoimaisella. Uuden laskimen lisääminen ei vaadi uuden sivun rakentamista nollasta. Se vaatii tulojen määrittelyä (nimi, tyyppi, yksikkö, validointisäännöt), laskentofunktion kirjoittamista ja tulosten näyttötavan määrittelyä. Kehys käsittelee kaiken muun: reagoiva asettelu, syötön validointi, virheilmoitukset, tulosmuotoilu ja jopa selittävä teksti, joka auttaa käyttäjiä ymmärtämään mitä numerot tarkoittavat. Koko alusta on pohjimmiltaan yksi moottori, jolla on sata konfiguraatiotiedostoa, minkä vuoksi se voi kasvaa loputtomasti ilman, että koodipohja muuttuu hallitsemattomaksi.

Laskimen API paljastaa tämän saman moottorin ohjelmallisesti. Ulkoiset sovellukset voivat lähettää syöttöarvoja ja vastaanottaa laskettuja tuloksia ilman mitään liityntää. Tämä on hyödyllistä sovelluksille, joita tarvitaan laskentakyvyt sulautettuina omiin työnkulkuihinsa. Kuntoilu -sovellus, joka haluaa näyttää BMI -arvon harjoittelun tilastojen rinnalla, voi kutsua API: ta sen sijaan, että reimplementoisi BMI -kaavan. Rahoitussuunnittelun väline, joka tarvitsee yhdisteltyä koron ennusteita, voi kutsua API: ta sen sijaan, että ylläpitäisi omaa sekoittavaa logiikkaansa. Kaavat ovat hyvin tunnettuja eivätkä omia, mutta niiden implementointi oikein (käsittelemällä reunatapauksia, pyöristämällä asianmukaisesti, ottamalla huomioon harppavuodet päivämääriin perustuvissa laskelmissa) on sellainen työ, jonka jokainen kehittäjä tekee hieman eri tavalla ja usein hieman väärin.

Miksi yhdistetty alusta on järkevämpi kuin hajautetut työkalut

Vaihtoehto yhdistetylle laskinalustalle on mitä useimmat ihmiset kokevat nykyään: erillinen verkkosivusto jokaiselle laskentatyypille. Yksi kirjanmerkki asuntolainlaskimelle. Toinen BMI -laskimelle. Kolmas kryptovoimakalkineen. Jokaisella sivustolla on oma suunnittelukieli, omat mainosten sijoittelut, oma evästeiden myöntämislomake ja oma tapa esittää tuloksia. Kognitiivinen päälasku näiden kytkettyjen työkalujen välillä on todellinen, vaikka se on riittävän pieni, jotta se jää huomaamatta, kunnes joku kokee vaihtoehdon.

Kaikkien omistaminen samassa paikassa calculator.yeb.to : lla eliminoi tämän päälakon. Käyttöliittymä on johdonmukainen jokaisen laskimen yli. Syötteet toimivat samalla tavalla. Tulokset muotoillaan samalla tavalla. Selittävä konteksti noudattaa samaa rakennetta. Käyttäjä, joka on käyttänyt BMI -laskinta, tietää tarkalleen kuinka käyttää asuntolainlaskinta, koska vuorovaikutuskuvio on identtinen. Tämä yhdenmukaisuus saattaa tuntua suunnittelun pienpiirteisenä, mutta sillä on mitattavissa oleva vaikutus käytettävyyteen. Käyttäjät viettävät vähemmän aikaa selvittämään kuinka väline toimii ja enemmän aikaa vastauksen saamiseen, jolle he tulivat.

Löytämistapahtuma on myös etu, jota hajautetut työkalut eivät voi toistaa. Joku, joka käy alustalla laskeakseen BMR: nsä, saattaa huomata vedeniintakun laskimen samalla sivulla ja ymmärtää, etteivät he ole koskaan todella laskeneet kuinka paljon vettä heidän pitäisi juoda. Joku, joka tarkistaa asuntolainmaksun, saattaa löytää korkolaskimen ja alkaa suorittaa eläkesuunnittelun ennusteita. Asiaan liittyvien työkalujen läheisyys luo luonnollisen tutkimispolun, jota eristetyt verkkosivustot eivät voi tarjota, koska yhdelle laskelmalle optimoitu eristetty verkkosivusto ei ole syytä paljastaa asiaan liittymättömiä kalkinita. Yhdistetty alusta voi ja tekee, ja käyttötietojen mukaan merkittävä prosenttiosuus käyttäjistä on vuorovaikutuksessa kahdella tai useammalla laskimella käyntiä kohti.

Numerot numeroiden takana

Yli sadan laskimen rakentaminen on tuottanut joitain todella mielenkiintoisia havaintoja siitä, mitä ihmiset laskevat ja milloin. Terveyskalkinit nousevat tammikuussa, kun uuden vuoden päätösten väki astuu BMI: tä ja kaloriintakkaista laskimia tuoreimpien kuntoliittymän innolla. Asuntolainlaskinat nousevat aina, kun keskuspankit ilmoittavat korkomuutoksista, joskus tunneissa ilmoituksesta. Kryptovoimakalkineet korreloivat lähes täydellisesti Bitcoinin hinnan vaihtelun kanssa, nousevat härän juoksuissa ja menevät hiljaiseksi karhun markkinoiden aikana. Veroupiskeltukalkineet huipentuvat viikoissa ennen arkistoinnin määräaikoja. Jopa perusprosenttilaskimella on kausiluonneissa, opiskelijoiden käyttöpiikit kokeiden kausina.

Alusta suosituimmin laskin, huomattavasti, ei ole yksi hienostuneista terveys- tai rahoitusvälineistä. Se on yksinkertainen prosenttilaskin. "Mikä on 15% 230: stä?" Ihmiset etsivät sitä kysymystä miljoonia kertoja päivässä maailmanlaajuisesti, ja vastaus on vain aritmetiikka, jonka jokainen puhelimen sisäänrakennettu laskin voisi käsitellä. Mutta ihmiset eivät ajattele sitä sillä tavalla. He ajattelevat sitä prosentuaalisen ongelmana ja he haluavat työkalun, jonka merkinnä "prosenttilaskin" ottaa heidän erityiset tulot ja antaa heille erityisen vastauksen. Opetuksen on, että laskimen arvo ei ole sen kaavan monimutkaisuudessa. Se on sen käyttöliittymän selkeydessä ja sen vastauksen nopeudessa.

Katsottaessa takaisin matkalla ensimmäisestä kehonrasvalaskelmasta alustaan, jossa on yli sata välinettä, eniten yllättävä ymmärrys on, että yksittäistä laskinta ei ollut vaikea rakentaa. Vaikeus oli siinä, että tunnistettiin, että kysyntä oli yleinen ja että olemassa oleva tarjonta oli hajallaan, mainoksentäyttämä ja vihamielinen käyttäjän kokemuksessa. Jokainen laskin on triviaali eristystilassa. Yhdessä he muodostavat jotain, joka on todella hyödyllistä täsmälleen siksi, että se on kattava, johdonmukainen ja nopea. Kehonrasva -kysymys, joka aloitti sen kaiken, saa edelleen vastauksen samalla välineellä, ja kuntoilu -edistyminen, jonka se auttoi seurata, on ollut huomattavasti johdonmukaisempi kuin alkuperäinen suunnitelma rakentaa "vain yksi laskin".

Usein kysytyt kysymykset

Millaisia laskimia alustalla on saatavilla?

Alusta sisältää yli sata laskinta neljässä pääkategoriassa: terveys (BMI, kehon rasva, BMR, kalorientarve, vesintarpe, makrolaskin), rahoitus (asuntolaina, koron yhdistäminen, lainanlyhennys, ROI, säästöt, eläke), matematiikka (prosentti, fraktiot, pinta -ala, tilavuus, yksikkömuunnos) ja kryptonit (voittolaskin, kaivoslaskin). Uusia laskimia lisätään säännöllisesti käyttäjien kysynnän perusteella.

Onko kehonrasvalaskimen tarkkuus ilman ammattilaitteiden omistamista?

Kehonrasvalaskimen käyttää Yhdysvaltojen laivastotyökalua, joka vaatii kaulan, vyötärön, lantion ja pituuden mittauksia. Tämä menetelmä on validoitu kliinisissä tutkimuksissa ja tuottaa tyypillisesti tulokset DEXA -skannausarvioiden sisällä 3-4 prosenttiyksikköä. Vaikka ei ole niin tarkka kuin laboratoriotyökalut, se tarjoaa luotettavan arvion muutoksen jäljittämiselle ajan mittaan, joka on yleisin käyttötapaus ihmisille, jotka seuraavat kuntoilun edistymistä.

Pääseekö laskimiin API: n kautta?

Kyllä. Laskimen API sallii ulkoisten sovellusten lähettää tuloarvoja ja vastaanottaa laskettuja tuloksia ohjelmallisesti. Tämä on hyödyllistä kehittäjille, jotka rakentavat kuntoilu -sovelluksia, rahoitussuunnittelun välineitä tai mitä tahansa sovellusta, joka tarvitsee upoitettuja laskentakyvyt ilman taustalla olevia kaavoja.

Ovatko laskimet ilmaisia?

calculator.yeb.to verkkopohjaisia laskimia voidaan käyttää ilmaiseksi ilman rekisteröintiä tai tilausta. Ohjelmallisen pääsyn laskimen API käyttää luottopohjaisen hinnoittelun mallia, jossa laskelmia veloitetaan pyynnöstä, mikä tekee siitä taloudellista sekä kevyen että raskaaseen käyttöön.

Kuinka koronlaskimen käsitellään eri sekoitteluritmeistä?

Korkolaskimen tukee päivittäistä, kuukausittaista, neljännesvuosittain, puolivuotista ja vuosittaista sekoittelutiheyttä. Käyttäjät määrittelevät pääoman, vuotuisen koron, sekoitustaajuuden ja sijoituskeston. Laskin näyttää lopullisen määrän, kokonaiskorkojen ansaitut ja vuosittain eritellyn kuinka sijoitus kasvaa ajan mittaan.

Miksi et vain käytä laskentataulukkoa näille laskelmille?

Laskentataulukot voivat suorittaa kaikki nämä laskelmat, mutta ne edellyttävät kaavojen asettamista oikein, joka on itse virheen lähde. Erillinen laskin, jossa on esivalitut, vahvistetut kaavat, eliminoi kaavavirheiden riskin ja tarjoaa kontekstuaalisen tiedon siitä, mitä tulokset tarkoittavat. Kertaluonteisia laskelmia varten laskentataulukon avaaminen ja kaavan rakentaminen kestää kauemmin kuin arvojen kirjoittaminen tarkoitukseen rakennettuun välineeseen, joka palauttaa vastauksen välittömästi.