{"id":2663,"date":"2025-10-07T13:15:01","date_gmt":"2025-10-07T11:15:01","guid":{"rendered":"https:\/\/miralab.one\/?page_id=2663"},"modified":"2025-10-07T15:37:07","modified_gmt":"2025-10-07T13:37:07","slug":"tco-calculator","status":"publish","type":"page","link":"https:\/\/miralab.one\/index.php\/tco-calculator\/","title":{"rendered":"Lapdock TCO Calculator"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"2663\" class=\"elementor elementor-2663\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8866992 e-flex e-con-boxed tmpcoder-jarallax-no tmpcoder-parallax-no tmpcoder-particle-no tmpcoder-sticky-section-no e-con e-parent\" data-id=\"8866992\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f4c77cb elementor-widget elementor-widget-html\" data-id=\"f4c77cb\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!doctype html>\n<html lang=\"fr\">\n<head>\n<meta charset=\"utf-8\" \/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" \/>\n<title>TCO \u2014 Simple vs Detailed<\/title>\n<style>\n:root{\n  --bg:#ffffff; --ink:#111827; --muted:#4b5563;\n  --panel:#f7f9fc; --card:#ffffff; --border:#e5e7eb;\n  --accent:#2563eb; --accent2:#3b82f6; --ok:#16a34a;\n}\n*{box-sizing:border-box}\nbody{margin:0;font-family:Inter,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--ink)}\n.wrap{max-width:1200px;margin:24px auto;padding:0 16px}\nh1{font-size:36px;margin:0 0 8px;font-weight:800;letter-spacing:-0.02em}\n.sub{color:var(--muted);margin-bottom:16px}\n\n\/* Panels \/ cards *\/\n.panel{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:16px}\n.card{background:var(--card);border:1px solid var(--border);border-radius:12px}\nh2{margin:0 0 10px;font-size:24px}\n\n\/* Inputs *\/\n.inputs{display:grid;gap:10px}\n.inputs.row3{grid-template-columns:repeat(3,minmax(200px,1fr))}\nlabel{font-size:13px;color:var(--muted);display:flex;justify-content:space-between;gap:8px;margin-bottom:6px;align-items:center}\nlabel .unit{font-size:12px;color:#000;background:#f3f4f6;border:1px solid var(--border);border-radius:6px;padding:2px 6px}\ninput{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:#fff;color:var(--ink);font-size:14px}\n\n\/* Buttons *\/\n.button{background:var(--accent);color:#fff;border:none;padding:10px 14px;border-radius:10px;cursor:pointer;font-weight:600}\n.button:hover{background:var(--accent2)}\n.right{display:flex;justify-content:flex-end}\n\n\/* Currency slider (iOS-like) *\/\n.toggle {\n  position: relative; width: 110px; height: 38px; background:#fff; border:1px solid var(--border);\n  border-radius:999px; display:flex; align-items:center; padding:4px; gap:4px; user-select:none;\n}\n.toggle input { position:absolute; opacity:0; pointer-events:none; }\n.toggle .option { flex:1; text-align:center; font-weight:600; color:#000; z-index:2; }\n.toggle .knob {\n  position:absolute; top:4px; left:4px; width:50%; height:30px; border-radius:999px;\n  background:linear-gradient(90deg,var(--accent),var(--accent2)); transition:left .18s ease;\n}\n.toggle[data-currency=\"\u20ac\"] .knob { left: calc(50% + 4px); }\n.toggle[data-currency=\"$\"] .opt-usd { color:#fff; }\n.toggle[data-currency=\"\u20ac\"] .opt-eur { color:#fff; }\n\n\/* KPI grid *\/\n.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}\n.kpi{padding:12px}\n.kpi .lab{font-size:12px;color:var(--muted)}\n.kpi .val{font-size:24px;font-weight:800;font-variant-numeric:tabular-nums}\n\n\/* Viz row *\/\n.viz{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-top:16px}\n@media (max-width:900px){.viz{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,1fr)}}\n.bars{padding:14px}\n.bar{display:grid;grid-template-columns:220px 1fr;align-items:center;gap:12px;margin:12px 0}\n.bar .name{color:var(--muted);font-size:13px}\n.track{height:28px;background:#eef2f7;border:1px solid var(--border);border-radius:999px;overflow:hidden}\n.fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2))}\n\n\/* Savings card *\/\n.sav{display:grid;place-items:center;padding:14px;text-align:center}\n.sav .pct{font-size:56px;line-height:1;font-weight:900;background:linear-gradient(120deg,var(--ok),#4ade80);-webkit-background-clip:text;background-clip:text;color:transparent}\n.sav .abs{color:var(--muted);margin-top:6px}\n\n\/* Device columns *\/\n.columns{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:10px}\n.col{padding:12px}\n.col h3{margin:0 0 8px;font-size:16px}\n<\/style>\n<\/head>\n<body>\n  <div class=\"wrap\">\n    <h1>Total Cost of Ownership Calculator<\/h1>\n    <div class=\"sub\">Compare <strong> Laptop + Smartphone<\/strong> vs <strong> Lapdock + Smartphone<\/strong>. Start simple, then reveal details. Big graphs, savings first.<\/div>\n\n    <!-- SIMPLE -->\n    <div class=\"panel card\">\n      <h2>Simple inputs<\/h2>\n\n      <!-- Row 1 -->\n      <div class=\"inputs row3\">\n        <div>\n          <label>Currency<\/label>\n          <div id=\"currencyToggle\" class=\"toggle\" role=\"switch\" aria-label=\"Currency\" aria-checked=\"true\" data-currency=\"$\">\n            <span class=\"knob\" aria-hidden=\"true\"><\/span>\n            <span class=\"option opt-usd\">$<\/span>\n            <span class=\"option opt-eur\">\u20ac<\/span>\n            <!-- radios for a11y -->\n            <input type=\"radio\" name=\"fx\" id=\"fx_usd\" value=\"$\" checked>\n            <input type=\"radio\" name=\"fx\" id=\"fx_eur\" value=\"\u20ac\">\n          <\/div>\n        <\/div>\n        <div><label>Users<\/label><input id=\"users\" type=\"text\" inputmode=\"numeric\" value=\"100\"><\/div>\n        <div><label>Period (years)<\/label><input id=\"years\" type=\"text\" inputmode=\"numeric\" value=\"5\"><\/div>\n      <\/div>\n\n      <!-- Row 2 -->\n      <div class=\"inputs row3\" style=\"margin-top:6px\">\n        <div><label>Laptop unit cost <span class=\"unit\" id=\"u_L_unit\">$<\/span><\/label><input id=\"L_unit\" type=\"text\" inputmode=\"decimal\" value=\"3000\"><\/div>\n        <div><label>Lapdock unit cost <span class=\"unit\" id=\"u_LD_unit\">$<\/span><\/label><input id=\"LD_unit\" type=\"text\" inputmode=\"decimal\" value=\"900\"><\/div>\n        <div><label>Smartphone unit cost <span class=\"unit\" id=\"u_SP_unit\">$<\/span><\/label><input id=\"SP_unit\" type=\"text\" inputmode=\"decimal\" value=\"690\"><\/div>\n      <\/div>\n\n      <div class=\"right\" style=\"margin-top:8px\">\n        <button id=\"btn_toggle\" class=\"button\" type=\"button\">Show detailed assumptions<\/button>\n      <\/div>\n\n      <div class=\"sub\" style=\"font-size:12px\">Simple mode uses only these prices and assumes <strong>3\u00d7<\/strong> lapdock shift sharing. Everything else is based on typical market assumptions (see Detailed).<\/div>\n    <\/div>\n\n    <!-- KPIs -->\n    <div class=\"kpis\">\n      <div class=\"card kpi\"><div class=\"lab\">Total \u2014 Laptop + Phone<\/div><div id=\"k_lap_total\" class=\"val\">$0<\/div><\/div>\n      <div class=\"card kpi\"><div class=\"lab\">Total \u2014 Lapdock + Phone<\/div><div id=\"k_ld_total\" class=\"val\">$0<\/div><\/div>\n      <div class=\"card kpi\"><div class=\"lab\">Per-user \u2014 Laptop + Phone<\/div><div id=\"k_lap_user\" class=\"val\">$0<\/div><\/div>\n      <div class=\"card kpi\"><div class=\"lab\">Per-user \u2014 Lapdock + Phone<\/div><div id=\"k_ld_user\" class=\"val\">$0<\/div><\/div>\n    <\/div>\n\n    <!-- Viz -->\n    <div class=\"viz\">\n      <div class=\"card bars\">\n        <div class=\"bar\">\n          <div class=\"name\">Laptop + Phone (Total)<\/div>\n          <div class=\"track\"><div id=\"bar_lap\" class=\"fill\" style=\"width:0%\"><\/div><\/div>\n        <\/div>\n        <div class=\"bar\">\n          <div class=\"name\">Lapdock + Phone (Total)<\/div>\n          <div class=\"track\"><div id=\"bar_ld\" class=\"fill\" style=\"width:0%\"><\/div><\/div>\n        <\/div>\n      <\/div>\n      <div class=\"card sav\">\n        <div>\n          <div id=\"savepct\" class=\"pct\">0%<\/div>\n          <div id=\"saveabs\" class=\"abs\">$0 saved with a Mobile-Only fleet<\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <!-- DETAILED -->\n    <div class=\"panel card\" id=\"detailed_panel\" style=\"display:none;margin-top:16px\">\n      <h2>Detailed assumptions<\/h2>\n\n      <div class=\"inputs row3\">\n        <div><label>Lapdock shared use <span class=\"unit\">shifts<\/span><\/label><input id=\"shared\" type=\"text\" inputmode=\"numeric\" value=\"3\"><\/div>\n        <div><label>License \/ user \/ yr <span class=\"unit\" id=\"u_LIC\">$<\/span><\/label><input id=\"LIC\" type=\"text\" inputmode=\"decimal\" value=\"100\"><\/div>\n        <div><label>Training \/ user (Y0) <span class=\"unit\" id=\"u_TRN\">$<\/span><\/label><input id=\"TRN\" type=\"text\" inputmode=\"decimal\" value=\"60\"><\/div>\n      <\/div>\n\n      <div class=\"columns\">\n        <div class=\"card col\">\n          <h3>Laptop<\/h3>\n          <div class=\"inputs\">\n            <div><label>Maintenance \/ yr (per device) <span class=\"unit\" id=\"u_L_maint\">$<\/span><\/label><input id=\"L_maint\" type=\"text\" inputmode=\"decimal\" value=\"200\"><\/div>\n            <div><label>Annual replacement <span class=\"unit\">%<\/span><\/label><input id=\"L_repl\" type=\"text\" inputmode=\"decimal\" value=\"10\"><\/div>\n            <div><label>Failures \/ unit \/ yr <span class=\"unit\">%<\/span><\/label><input id=\"L_fail\" type=\"text\" inputmode=\"decimal\" value=\"20\"><\/div>\n            <div><label>Cost in productivity per failure <span class=\"unit\" id=\"u_L_down\">$<\/span><\/label><input id=\"L_down\" type=\"text\" inputmode=\"decimal\" value=\"500\"><\/div>\n            <div><label>Residual value <span class=\"unit\">%<\/span><\/label><input id=\"L_resid\" type=\"text\" inputmode=\"decimal\" value=\"15\"><\/div>\n          <\/div>\n        <\/div>\n\n        <div class=\"card col\">\n          <h3>Smartphone<\/h3>\n          <div class=\"inputs\">\n            <div><label>Maintenance \/ yr (per device) <span class=\"unit\" id=\"u_SP_maint\">$<\/span><\/label><input id=\"SP_maint\" type=\"text\" inputmode=\"decimal\" value=\"60\"><\/div>\n            <div><label>Failures \/ unit \/ yr <span class=\"unit\">%<\/span><\/label><input id=\"SP_fail\" type=\"text\" inputmode=\"decimal\" value=\"25\"><\/div>\n            <div><label>Cost in productivity per failure <span class=\"unit\" id=\"u_SP_down\">$<\/span><\/label><input id=\"SP_down\" type=\"text\" inputmode=\"decimal\" value=\"300\"><\/div>\n            <div><label>Residual value <span class=\"unit\">%<\/span><\/label><input id=\"SP_resid\" type=\"text\" inputmode=\"decimal\" value=\"5\"><\/div>\n          <\/div>\n        <\/div>\n\n        <div class=\"card col\">\n          <h3>Lapdock<\/h3>\n          <div class=\"inputs\">\n            <div><label>Maintenance \/ yr (per device) <span class=\"unit\" id=\"u_LD_maint\">$<\/span><\/label><input id=\"LD_maint\" type=\"text\" inputmode=\"decimal\" value=\"0\"><\/div>\n            <div><label>Annual replacement <span class=\"unit\">%<\/span><\/label><input id=\"LD_repl\" type=\"text\" inputmode=\"decimal\" value=\"6\"><\/div>\n            <div><label>Failures \/ unit \/ yr <span class=\"unit\">%<\/span><\/label><input id=\"LD_fail\" type=\"text\" inputmode=\"decimal\" value=\"12\"><\/div>\n            <div><label>Cost in productivity per failure <span class=\"unit\" id=\"u_LD_down\">$<\/span><\/label><input id=\"LD_down\" type=\"text\" inputmode=\"decimal\" value=\"400\"><\/div>\n            <div><label>Residual value <span class=\"unit\">%<\/span><\/label><input id=\"LD_resid\" type=\"text\" inputmode=\"decimal\" value=\"10\"><\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n\n<script>\n(function(w,d){\n  const byId = (id)=> d.getElementById(id);\n  const safe = (v,def=0)=>{ const n=parseFloat((v+'').replace(\/[^0-9.-]\/g,'')); return isNaN(n)?def:n; };\n\n  \/\/ Put caret at end on focus\/click\n  function placeCaretEnd(el){ const v=el.value||''; requestAnimationFrame(()=>{ try{ el.setSelectionRange(v.length, v.length);}catch(e){} }); }\n  function wireCaret(ids){ ids.forEach(id=>{ const el=byId(id); if(!el) return; el.addEventListener('focus',()=>placeCaretEnd(el)); el.addEventListener('click',()=>placeCaretEnd(el)); }); }\n\n  \/\/ Money formatter (\u20ac with thin spaces)\n  function money(n, sym){\n    const r = Math.round(n);\n    if(sym==='\u20ac'){ return r.toLocaleString('fr-FR').replace(\/\\u00A0\/g,'\\u202F') + ' ' + sym; }\n    return sym + r.toLocaleString('en-US');\n  }\n\n  \/\/ STATE: currency via slider\n  let currency = '$';\n\n  \/\/ ids (no cur input anymore)\n  const ids_simple = ['users','years','L_unit','LD_unit','SP_unit'];\n  const ids_detailed = ['shared','LIC','TRN','L_maint','LD_maint','SP_maint','L_repl','LD_repl','L_fail','LD_fail','SP_fail','L_down','LD_down','SP_down','L_resid','LD_resid','SP_resid'];\n\n  function getSimple(){\n    return {\n      users: Math.max(1, Math.floor(safe(byId('users').value,100))),\n      years: Math.max(1, Math.floor(safe(byId('years').value,5))),\n      L_unit: safe(byId('L_unit').value,3000),\n      LD_unit: safe(byId('LD_unit').value,900),\n      SP_unit: safe(byId('SP_unit').value,690)\n    };\n  }\n  function getDetailed(){\n    const v = Object.fromEntries(ids_detailed.map(k=>[k, byId(k).value]));\n    v.shared = Math.max(1, Math.floor(safe(v.shared,3)));\n    ['LIC','TRN','L_maint','LD_maint','SP_maint','L_down','LD_down','SP_down'].forEach(k => v[k] = safe(v[k],0));\n    ['L_repl','LD_repl','L_fail','LD_fail','SP_fail','L_resid','LD_resid','SP_resid'].forEach(k => v[k] = safe(v[k],0)\/100);\n    return v;\n  }\n  function setUnitBadges(sym){\n    ['u_L_unit','u_LD_unit','u_SP_unit','u_LIC','u_TRN','u_L_maint','u_LD_maint','u_SP_maint','u_L_down','u_LD_down','u_SP_down']\n      .forEach(id=>{ const el=byId(id); if(el) el.textContent=sym; });\n  }\n\n  function compute(){\n    const s = getSimple(), dvals = getDetailed();\n    const users = s.users, years = s.years, cur = currency;\n    const lapdocks = Math.ceil(users \/ dvals.shared);\n\n    const qty = { LAPTOP: users, PHONE: users, LAPDOCK: lapdocks };\n\n    const cap_lap_phone = s.L_unit*qty.LAPTOP + s.SP_unit*qty.PHONE + dvals.TRN*users;\n    const cap_ld_phone  = s.LD_unit*qty.LAPDOCK + s.SP_unit*qty.PHONE + dvals.TRN*users;\n\n    const repl_lap_phone = (s.L_unit*dvals.L_repl*qty.LAPTOP)*years;\n    const repl_ld_phone  = (s.LD_unit*dvals.LD_repl*qty.LAPDOCK)*years;\n\n    const maint_lap_phone = (dvals.L_maint*qty.LAPTOP + dvals.SP_maint*qty.PHONE)*years;\n    const maint_ld_phone  = (dvals.LD_maint*qty.LAPDOCK + dvals.SP_maint*qty.PHONE)*years;\n\n    const lic_both = dvals.LIC*users*years;\n\n    const down_lap_phone = (dvals.L_fail*dvals.L_down*qty.LAPTOP + dvals.SP_fail*dvals.SP_down*qty.PHONE)*years;\n    const down_ld_phone  = (dvals.LD_fail*dvals.LD_down*qty.LAPDOCK + dvals.SP_fail*dvals.SP_down*qty.PHONE)*years;\n\n    const resid_lap_phone = -(dvals.L_resid*s.L_unit*qty.LAPTOP + dvals.SP_resid*s.SP_unit*qty.PHONE);\n    const resid_ld_phone  = -(dvals.LD_resid*s.LD_unit*qty.LAPDOCK + dvals.SP_resid*s.SP_unit*qty.PHONE);\n\n    const total_lap = cap_lap_phone + repl_lap_phone + maint_lap_phone + lic_both + down_lap_phone + resid_lap_phone;\n    const total_ld  = cap_ld_phone  + repl_ld_phone  + maint_ld_phone  + lic_both + down_ld_phone  + resid_ld_phone;\n\n    const per_user_lap = total_lap \/ users;\n    const per_user_ld  = total_ld  \/ users;\n    const save_abs = total_lap - total_ld;\n    const save_pct = total_lap>0 ? save_abs\/total_lap : 0;\n\n    byId('k_lap_total').textContent = money(total_lap, cur);\n    byId('k_ld_total').textContent  = money(total_ld,  cur);\n    byId('k_lap_user').textContent  = money(per_user_lap, cur);\n    byId('k_ld_user').textContent   = money(per_user_ld,  cur);\n\n    const maxv = Math.max(total_lap,total_ld,1);\n    byId('bar_lap').style.width = (total_lap\/maxv*100)+'%';\n    byId('bar_ld').style.width  = (total_ld\/maxv*100)+'%';\n\n    byId('savepct').textContent = (save_pct*100).toFixed(1)+'%';\n    byId('saveabs').textContent = money(save_abs, cur)+' saved with a Mobile-Only fleet';\n  }\n\n  \/\/ Toggle details\n  byId('btn_toggle').addEventListener('click', function(){\n    const p = byId('detailed_panel');\n    const vis = p.style.display!=='none';\n    p.style.display = vis ? 'none' : 'block';\n    this.textContent = vis ? 'Show detailed assumptions' : 'Hide detailed assumptions';\n  });\n\n  \/\/ Currency slider logic\n  const toggle = byId('currencyToggle');\n  function setCurrency(sym){\n    currency = sym;\n    toggle.dataset.currency = sym;\n    toggle.setAttribute('aria-checked', sym==='$' ? 'true' : 'false');\n    byId('fx_usd').checked = (sym==='$'); byId('fx_eur').checked = (sym==='\u20ac');\n    setUnitBadges(sym); compute();\n  }\n  toggle.addEventListener('click', (e)=>{\n    \/\/ click anywhere toggles\n    setCurrency(currency === '$' ? '\u20ac' : '$');\n  });\n  \/\/ also ensure keyboard access via radios\n  byId('fx_usd').addEventListener('change', ()=> setCurrency('$'));\n  byId('fx_eur').addEventListener('change', ()=> setCurrency('\u20ac'));\n\n  \/\/ Live recompute on inputs\n  [...ids_simple, ...ids_detailed].forEach(id=>{\n    const el = byId(id); if(el) el.addEventListener('input', compute);\n  });\n\n  \/\/ Caret-at-end wiring\n  wireCaret([...ids_simple, ...ids_detailed]);\n\n  \/\/ Init\n  setUnitBadges('$'); compute();\n})(window, document);\n<\/script>\n<\/body>\n<\/html>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1594e0e2 e-con-full e-flex tmpcoder-jarallax-no tmpcoder-parallax-no tmpcoder-particle-no tmpcoder-sticky-section-no e-con e-parent\" data-id=\"1594e0e2\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-1339602d e-con-full e-flex tmpcoder-jarallax-no tmpcoder-parallax-no tmpcoder-particle-no tmpcoder-sticky-section-no e-con e-child\" data-id=\"1339602d\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-57a1520d elementor-widget elementor-widget-heading\" data-id=\"57a1520d\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">TCO Killer<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-441a18c7 elementor-widget elementor-widget-text-editor\" data-id=\"441a18c7\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong data-start=\"52\" data-end=\"99\">Understanding Total Cost of Ownership (TCO)<\/strong> is essential when evaluating IT equipment investments. TCO goes far beyond the purchase price as it includes maintenance, software, training, repairs, downtime, and replacement costs over the product lifecycle. Traditional rugged laptops come with high acquisition and upkeep costs, especially in large fleets. By contrast, <strong data-start=\"424\" data-end=\"492\">rugged lapdocks use the smartphone as the primary computing unit<\/strong>, which drastically reduces hardware duplication, maintenance overhead, and replacement cycles. This <strong data-start=\"593\" data-end=\"654\">Mobile Only approach turns lapdocks into true TCO killers<\/strong>, cutting fleet costs by up to 60 to 70 percent while increasing flexibility and sustainability.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-45518f58 elementor-mobile-align-center elementor-widget elementor-widget-button\" data-id=\"45518f58\" data-element_type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/miralab.one\/index.php\/contact-us\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Contact us<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-251b8833 e-con-full e-flex tmpcoder-jarallax-no tmpcoder-parallax-no tmpcoder-particle-no tmpcoder-sticky-section-no e-con e-child\" data-id=\"251b8833\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5685abbe elementor-widget elementor-widget-image\" data-id=\"5685abbe\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"640\" height=\"428\" src=\"https:\/\/miralab.one\/wp-content\/uploads\/2025\/10\/SHield-Book-th-1024x684.jpg\" class=\"attachment-large size-large wp-image-2847\" alt=\"\" srcset=\"https:\/\/miralab.one\/wp-content\/uploads\/2025\/10\/SHield-Book-th-1024x684.jpg 1024w, https:\/\/miralab.one\/wp-content\/uploads\/2025\/10\/SHield-Book-th-300x200.jpg 300w, https:\/\/miralab.one\/wp-content\/uploads\/2025\/10\/SHield-Book-th-768x513.jpg 768w, https:\/\/miralab.one\/wp-content\/uploads\/2025\/10\/SHield-Book-th-1536x1025.jpg 1536w, https:\/\/miralab.one\/wp-content\/uploads\/2025\/10\/SHield-Book-th.jpg 1624w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>TCO \u2014 Simple vs Detailed Total Cost of Ownership Calculator Compare Laptop + Smartphone vs Lapdock + Smartphone. Start simple, then reveal details. Big graphs, savings first. Simple inputs Currency $ \u20ac Users Period (years) Laptop unit cost $ Lapdock unit cost $ Smartphone unit cost $ Show detailed assumptions Simple mode uses only these [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2094,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-2663","page","type-page","status-publish","has-post-thumbnail","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Lapdock TCO Calculator - MiraLab<\/title>\n<meta name=\"description\" content=\"Explore Lapdock TCO and see how Mobile Only fleets cut costs compared to traditional laptops. Calculate total cost of ownership, uncover hidden expenses, and discover why rugged lapdocks are a game changer for IT budgets.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/miralab.one\/index.php\/tco-calculator\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Lapdock TCO Calculator - MiraLab\" \/>\n<meta property=\"og:description\" content=\"Explore Lapdock TCO and see how Mobile Only fleets cut costs compared to traditional laptops. Calculate total cost of ownership, uncover hidden expenses, and discover why rugged lapdocks are a game changer for IT budgets.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/miralab.one\/index.php\/tco-calculator\/\" \/>\n<meta property=\"og:site_name\" content=\"MiraLab\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-07T13:37:07+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/miralab.one\/wp-content\/uploads\/2024\/01\/home-digital-agency-contact-09-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"2201\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/miralab.one\/index.php\/tco-calculator\/\",\"url\":\"https:\/\/miralab.one\/index.php\/tco-calculator\/\",\"name\":\"Lapdock TCO Calculator - MiraLab\",\"isPartOf\":{\"@id\":\"https:\/\/miralab.one\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/miralab.one\/index.php\/tco-calculator\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/miralab.one\/index.php\/tco-calculator\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/miralab.one\/wp-content\/uploads\/2024\/01\/home-digital-agency-contact-09-1.jpg\",\"datePublished\":\"2025-10-07T11:15:01+00:00\",\"dateModified\":\"2025-10-07T13:37:07+00:00\",\"description\":\"Explore Lapdock TCO and see how Mobile Only fleets cut costs compared to traditional laptops. Calculate total cost of ownership, uncover hidden expenses, and discover why rugged lapdocks are a game changer for IT budgets.\",\"breadcrumb\":{\"@id\":\"https:\/\/miralab.one\/index.php\/tco-calculator\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/miralab.one\/index.php\/tco-calculator\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/miralab.one\/index.php\/tco-calculator\/#primaryimage\",\"url\":\"https:\/\/miralab.one\/wp-content\/uploads\/2024\/01\/home-digital-agency-contact-09-1.jpg\",\"contentUrl\":\"https:\/\/miralab.one\/wp-content\/uploads\/2024\/01\/home-digital-agency-contact-09-1.jpg\",\"width\":1920,\"height\":2201},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/miralab.one\/index.php\/tco-calculator\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/miralab.one\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Lapdock TCO Calculator\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/miralab.one\/#website\",\"url\":\"https:\/\/miralab.one\/\",\"name\":\"MiraLab\",\"description\":\"The Mobile-Only maker lab\",\"publisher\":{\"@id\":\"https:\/\/miralab.one\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/miralab.one\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/miralab.one\/#organization\",\"name\":\"MiraLab\",\"url\":\"https:\/\/miralab.one\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/miralab.one\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/miralab.one\/wp-content\/uploads\/2025\/03\/MiraLab_Logo-e1742815067419.png\",\"contentUrl\":\"https:\/\/miralab.one\/wp-content\/uploads\/2025\/03\/MiraLab_Logo-e1742815067419.png\",\"width\":652,\"height\":122,\"caption\":\"MiraLab\"},\"image\":{\"@id\":\"https:\/\/miralab.one\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.linkedin.com\/company\/miralab22\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Lapdock TCO Calculator - MiraLab","description":"Explore Lapdock TCO and see how Mobile Only fleets cut costs compared to traditional laptops. Calculate total cost of ownership, uncover hidden expenses, and discover why rugged lapdocks are a game changer for IT budgets.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/miralab.one\/index.php\/tco-calculator\/","og_locale":"fr_FR","og_type":"article","og_title":"Lapdock TCO Calculator - MiraLab","og_description":"Explore Lapdock TCO and see how Mobile Only fleets cut costs compared to traditional laptops. Calculate total cost of ownership, uncover hidden expenses, and discover why rugged lapdocks are a game changer for IT budgets.","og_url":"https:\/\/miralab.one\/index.php\/tco-calculator\/","og_site_name":"MiraLab","article_modified_time":"2025-10-07T13:37:07+00:00","og_image":[{"width":1920,"height":2201,"url":"http:\/\/miralab.one\/wp-content\/uploads\/2024\/01\/home-digital-agency-contact-09-1.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/miralab.one\/index.php\/tco-calculator\/","url":"https:\/\/miralab.one\/index.php\/tco-calculator\/","name":"Lapdock TCO Calculator - MiraLab","isPartOf":{"@id":"https:\/\/miralab.one\/#website"},"primaryImageOfPage":{"@id":"https:\/\/miralab.one\/index.php\/tco-calculator\/#primaryimage"},"image":{"@id":"https:\/\/miralab.one\/index.php\/tco-calculator\/#primaryimage"},"thumbnailUrl":"https:\/\/miralab.one\/wp-content\/uploads\/2024\/01\/home-digital-agency-contact-09-1.jpg","datePublished":"2025-10-07T11:15:01+00:00","dateModified":"2025-10-07T13:37:07+00:00","description":"Explore Lapdock TCO and see how Mobile Only fleets cut costs compared to traditional laptops. Calculate total cost of ownership, uncover hidden expenses, and discover why rugged lapdocks are a game changer for IT budgets.","breadcrumb":{"@id":"https:\/\/miralab.one\/index.php\/tco-calculator\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/miralab.one\/index.php\/tco-calculator\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/miralab.one\/index.php\/tco-calculator\/#primaryimage","url":"https:\/\/miralab.one\/wp-content\/uploads\/2024\/01\/home-digital-agency-contact-09-1.jpg","contentUrl":"https:\/\/miralab.one\/wp-content\/uploads\/2024\/01\/home-digital-agency-contact-09-1.jpg","width":1920,"height":2201},{"@type":"BreadcrumbList","@id":"https:\/\/miralab.one\/index.php\/tco-calculator\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/miralab.one\/"},{"@type":"ListItem","position":2,"name":"Lapdock TCO Calculator"}]},{"@type":"WebSite","@id":"https:\/\/miralab.one\/#website","url":"https:\/\/miralab.one\/","name":"MiraLab","description":"The Mobile-Only maker lab","publisher":{"@id":"https:\/\/miralab.one\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/miralab.one\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/miralab.one\/#organization","name":"MiraLab","url":"https:\/\/miralab.one\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/miralab.one\/#\/schema\/logo\/image\/","url":"https:\/\/miralab.one\/wp-content\/uploads\/2025\/03\/MiraLab_Logo-e1742815067419.png","contentUrl":"https:\/\/miralab.one\/wp-content\/uploads\/2025\/03\/MiraLab_Logo-e1742815067419.png","width":652,"height":122,"caption":"MiraLab"},"image":{"@id":"https:\/\/miralab.one\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/miralab22"]}]}},"_links":{"self":[{"href":"https:\/\/miralab.one\/index.php\/wp-json\/wp\/v2\/pages\/2663","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/miralab.one\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/miralab.one\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/miralab.one\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/miralab.one\/index.php\/wp-json\/wp\/v2\/comments?post=2663"}],"version-history":[{"count":16,"href":"https:\/\/miralab.one\/index.php\/wp-json\/wp\/v2\/pages\/2663\/revisions"}],"predecessor-version":[{"id":2862,"href":"https:\/\/miralab.one\/index.php\/wp-json\/wp\/v2\/pages\/2663\/revisions\/2862"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/miralab.one\/index.php\/wp-json\/wp\/v2\/media\/2094"}],"wp:attachment":[{"href":"https:\/\/miralab.one\/index.php\/wp-json\/wp\/v2\/media?parent=2663"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}