[{"data":1,"prerenderedAt":658},["ShallowReactive",2],{"project-44482965":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":46,"post_text":49,"what":50,"said":86,"maker_in_thread":227,"shape":240,"grid":244,"attempts":619,"same_week":620,"maker_shows":44,"maker_hidden":650,"reader_version":651,"card":652},"44482965","LisaGUI","A \"web OS\" based on the Apple Lisa's UI, with 1-bit graphics","title","Show HN: I wrote a \"web OS\" based on the Apple Lisa's UI, with 1-bit graphics","https:\u002F\u002Falpha.lisagui.com\u002F","alpha.lisagui.com","ayaros",1751826775,2025,516,142,66,3837,2,"legend","languages","web os","web_app",[21,24,25,26,27],"apple lisa","retro ui","vanilla javascript","1-bit graphics","debated",0.136,{"positive":31,"neutral":32,"mixed":33,"critical":34},28,16,3,24,71,{"execution":37,"design":39,"performance":42,"idea":45},{"positive":33,"critical":38},13,{"positive":40,"critical":41},10,9,{"positive":43,"critical":44},4,1,{"positive":33,"critical":44},[33,18,47,33,47,47,44,18,44,33,33,47,33,47,44,47,44,44,44,43,47,44,33,47,44,47,33,33,33,33,33,33,43,47,47,48,48,48,48,48],5,0,"https:\u002F\u002Flisagui.com\u002Finfo.html\n\nThis is a web OS I wrote in vanilla JS that looks like the Apple Lisa Office System (1983-85), with other contemporaneous influences and additional improvements and features. It's currently in alpha and isn't remotely bug free. I had been holding off on posting this here until it was somewhat presentable and useful. Please note; the Lisa conforms more literally to the desktop metaphor than most modern GUIs - some of the important differences are mentioned in the readme.\n\nThis is a complete recreation of the UI in JS; it all renders to a single canvas element. It'",{"problem":51,"audience":57,"pricing":57,"motivation":58,"time_to_build":57,"stack":64,"openness":83,"stage":84,"team_size":85},{"value":52,"source":53,"evidence":54},"Recreates the 1983 Apple Lisa desktop interface in the browser for nostalgia and experimentation","maker",[55],{"id":56},"post",null,{"value":59,"source":53,"evidence":60},"Love of vintage computers and UIs",[61],{"id":62,"by":11,"text":63},"44483431","Yes I do, a Lisa 2\u002F10! LisaEm was also invaluable. Also, just a general obsession with vintage computers and UIs helped quite a bit!",[65,69,73,77],{"value":66,"source":53,"evidence":67},"Vanilla JavaScript",[68],{"id":56},{"value":70,"source":53,"evidence":71},"Canvas rendering",[72],{"id":56},{"value":74,"source":53,"evidence":75},"Gulp",[76],{"id":56},{"value":78,"source":53,"evidence":79},"IndexedDB",[80],{"id":81,"by":11,"text":82},"44484227","Yeah. This is part of why I wanted to get this on places like HN eventually. This is valuable user feedback! For the longest time I kept this project totally secret. What I'll…","unknown","beta","solo",{"praise":87,"objections":126,"requests":175,"questions":197,"alternatives":212},[88,104,119],{"value":89,"source":90,"evidence":91},"Faithful, nostalgic recreation of the Lisa UI","commenter",[92,96,100],{"id":93,"by":94,"text":95},"44483178","rgovostes","The shadow text style and fatbits editor in the Preferences app really took me back. Other than a lack of close buttons on windows, it's remarkable that you can strip away 40…",{"id":97,"by":98,"text":99},"44483293","fitsumbelay","very cool, plus so much tasty design and functional tips that spark inspiration. I really love that look of aliased type that still reaches for that calligraphic look that's…",{"id":101,"by":102,"text":103},"44483516","JSR_FDED","This is amazing! Thanks for the excellent memories!",{"value":105,"source":90,"evidence":106},"Fast and responsive performance in browser",[107,111,115],{"id":108,"by":109,"text":110},"44489376","MarkusWandel","Works perfectly in Desktop Google Chrome. And on a 13 year old computer, running in Javascript, is lightning fast. Just shows how lean software can be and how responsive a…",{"id":112,"by":113,"text":114},"44486192","em3rgent0rdr","amazing how fast and snappy this UI is, even though it is running inside a browser.",{"id":116,"by":117,"text":118},"44485603","ww520","This is awesome. It's actually pretty quick. Major kudos.",{"value":120,"source":90,"evidence":121},"Consistent rendering across browsers via canvas",[122],{"id":123,"by":124,"text":125},"44485212","DustinBrett","Looks great! I love the choice to make it consistent across browsers through canvas rendering. Cool that it's a PWA.",[127,138,153,164],{"value":128,"source":90,"evidence":129},"Uneven or inconsistent font character widths",[130,134],{"id":131,"by":132,"text":133},"44483091","smokel","Perhaps I'm doing something wrong, but the line widths in the characters are quite inconsistent. For example the two l's in \"install\" have different widths. This makes something…",{"id":135,"by":136,"text":137},"44485131","kaoD","The font looks weird and uneven horizontally (some characters are \"fatter\" like if they were randomly bold). Is it supposed to look like that? Firefox + Windows.",{"value":139,"source":90,"evidence":140},"Text selection highlights whole page on click",[141,145,149],{"id":142,"by":143,"text":144},"44483079","subjectsigma","Just clicking around I accidentally highlighted the background element or something, which caused the whole page to turn blue. Then no matter what I clicked I couldn't get it to…",{"id":146,"by":147,"text":148},"44489339","demetrius","It treats any of my clicks as an attempt to select text, and draws everything with blue selection overlay (Firefox on Windows). Otherwise, looks cool!",{"id":150,"by":151,"text":152},"44490829","mlindner","Why does the screen turn light blue like it's highlighted text a few seconds after the page loads? Firefox on Mac OS.",{"value":154,"source":90,"evidence":155},"Clock shows wrong time",[156,160],{"id":157,"by":158,"text":159},"44485888","ceautery","What's up with the clock? Mine was two minutes off of local system time.",{"id":161,"by":162,"text":163},"44496384","fnord77","hmmm https:\u002F\u002Fi.imgur.com\u002FuVpcRPz.png",{"value":165,"source":90,"evidence":166},"Poor mobile and small screen support",[167,171],{"id":168,"by":169,"text":170},"44485206","shusaku","Unfortunately it doesn’t work on my iPhone SE due to the small screen. I’ll have to upgrade my hardware if I want to use the latest OS I guess :)",{"id":172,"by":173,"text":174},"44487207","djaychela","Just trying this out on iPhone on Firefox, and found something. If the phone is rotation locked in portrait mode (which mine normally is) I don't see buttons to install, try etc.…",[176,183,190],{"value":177,"source":90,"evidence":178},"Add games like breakout or solitaire",[179],{"id":180,"by":181,"text":182},"44484565","rustystump","These are the kinds of show hn I live for. Tasty vanilla js + learning about an esoteric \"Lisa GUI\" well before my time. Bravo! I would love to see a breakout style game or…",{"value":184,"source":90,"evidence":185},"Make color palette editable",[186],{"id":187,"by":188,"text":189},"44486948","muzani","Kind of an edge case here, but I love making 1-bit palettes and then testing them on old Apple UIs. This is just perfect. I hope you can make the color editable :)",{"value":191,"source":90,"evidence":192},"Disable FPS display",[193],{"id":194,"by":195,"text":196},"44491649","cruffle_duffle","The FPS display needs a way to be disabled. It rapidly “flickers” between several values on my iPhone due to what I’d assume is rounding or something. It’s a very annoying…",[198,205],{"value":199,"source":90,"evidence":200},"Is the source code available",[201],{"id":202,"by":203,"text":204},"44486711","spagoop","would love to see the source code for this, poked around but couldn't find anything :-)",{"value":206,"source":90,"evidence":207},"Is keyboard navigation supported",[208],{"id":209,"by":210,"text":211},"44485865","int_19h","Is keyboard not supposed to work? E.g. tabbing through the widgets.",[213,217],{"value":214,"source":90,"evidence":215},"Original Lisa hardware and LisaEm emulator",[216],{"id":62,"by":11,"text":63},{"value":218,"source":90,"evidence":219},"Windows 3.1 and Mac OS System 6 style UIs",[220,224],{"id":221,"by":222,"text":223},"44490276","gwbas1c","Took me a minute to figure out how to close a window. (Had to remember it's the same way as closing a window in Win 3.1) I even scrolled through the help document and didn't see…",{"id":225,"by":11,"text":226},"44483611","Yes, sticky menus arrived much later. I put the extra effort to add them here because everyone's so used to them now. Both options work - you can single-click to keep a menu…",{"comments":228,"answered":229,"key":230},48,6,[231,234,237],{"id":232,"text":233},"44483280","The Lisa doesn't have square pixels, so the canvas is scaled to be 1.5x as high as it is wide. This generally looks fine on high-dpi displays, because there's technically twice…",{"id":235,"text":236},"44484971","It's integer scaling; it involves changing the width, height, and style attributes of the canvas dynamically. I have a whole class that handles this, and let me tell you it took…",{"id":238,"text":239},"44495527","I should clarify I'm indeed not using the api call to get device pixel ratio; I forgot I had ended up not needing it because all that code is stuff I wrote about a year ago, lol",{"commenters":241,"max_depth":47,"maker_replies":228,"first_comment_mins":242,"lifespan_hours":243},79,18,249,[245,247,251,253,256,259,263,264,266,269,271,273,276,278,279,283,286,289,291,294,296,299,302,304,307,310,312,316,319,322,325,328,331,333,335,337,340,341,343,345,347,350,354,356,357,359,361,366,370,372,375,377,380,384,388,390,392,394,396,398,401,404,407,409,411,416,418,419,422,424,429,431,434,437,439,441,446,448,450,451,453,457,461,465,467,470,472,474,477,479,481,484,488,492,494,496,498,500,503,505,507,509,511,513,516,520,522,526,528,530,534,536,538,540,542,546,548,552,554,558,560,563,567,570,573,576,578,581,583,585,587,589,592,594,596,598,600,605,608,611,614,616],[232,48,48,246,11,44],"project\u002Fneutral\u002Fdesign",[248,48,33,249,250,48],"44484710","maker\u002Fneutral\u002Fexecution","ivape",[235,48,48,252,11,44],"project\u002Fneutral\u002Fexecution",[254,48,33,252,255,48],"44491670","Gormo",[257,48,33,252,258,48],"44491989","Dwedit",[260,48,44,261,262,48],"44494279","project\u002Fcritical\u002Fexecution","socalgal2",[238,48,48,252,11,44],[180,44,47,265,181,48],"maker\u002Fpositive\u002Fexecution",[267,44,48,268,11,44],"44484617","project\u002Fneutral\u002Fidea",[270,18,48,246,11,44],"44486122",[93,33,33,272,94,48],"project\u002Fmixed\u002Fdesign",[274,33,33,246,275,48],"44483253","layer8",[277,33,48,246,11,44],"44483397",[225,33,48,246,11,44],[280,43,47,281,282,48],"44485125","project\u002Fpositive\u002Fdesign","hoistbypetard",[284,43,48,285,11,44],"44486130","other\u002Fneutral\u002Fnone",[287,47,33,246,288,48],"44483584","jonathanlydall",[290,47,48,246,11,44],"44483646",[292,47,47,281,293,48],"44484550","john-aj",[295,47,48,246,11,44],"44484643",[297,47,33,246,298,48],"44485788","phatskat",[300,229,44,261,301,48],"44484223","Cieric",[303,229,48,252,11,44],"44484441",[305,229,33,252,306,48],"44484560","Shorel",[308,229,48,309,11,44],"44484675","commenter\u002Fneutral\u002Fnone",[311,229,33,252,301,48],"44484726",[313,229,33,314,315,48],"44484947","project\u002Fmixed\u002Fexecution","BubbleRings",[317,229,44,261,318,48],"44486808","pedroslopez",[320,229,48,309,321,48],"44487858","jcheng",[142,323,44,324,143,48],7,"project\u002Fcritical\u002Fdesign",[326,323,44,324,327,48],"44483113","humptybumpty",[329,323,33,246,330,48],"44483115","pvg",[332,323,48,246,11,44],"44483149",[334,323,33,246,94,48],"44483134",[336,323,48,246,11,44],"44483179",[338,323,48,339,143,48],"44484034","commenter\u002Fneutral\u002Fdesign",[81,323,48,246,11,44],[342,323,48,246,11,44],"44495453",[172,344,33,272,173,48],8,[346,344,48,246,11,44],"44487422",[348,344,47,281,349,48],"44489467","zoom6628",[351,41,47,352,353,48],"44483064","project\u002Fpositive\u002Fperformance","mysterydip",[355,41,48,309,11,44],"44483635",[108,40,47,352,109,48],[194,358,44,324,195,48],11,[360,358,48,246,11,44],"44498462",[362,363,47,364,365,48],"44488515",12,"project\u002Fpositive\u002Fidea","rbanffy",[367,363,48,368,369,48],"44488610","other\u002Fneutral\u002Fidea","kalleboo",[371,363,48,285,365,48],"44488839",[373,363,48,285,374,48],"44494494","joemi",[376,363,48,285,11,44],"44498476",[378,363,48,368,379,48],"44490392","p_l",[381,363,44,382,383,48],"44491224","project\u002Fcritical\u002Fidea","thesuitonym",[385,38,47,386,387,48],"44485107","project\u002Fpositive\u002Fnone","leakycap",[389,38,48,309,11,44],"44486059",[97,391,47,281,98,48],14,[393,391,48,246,11,44],"44483632",[168,395,44,324,169,48],15,[397,395,48,246,11,44],"44485886",[399,32,44,261,400,48],"44484099","sfblah",[402,32,48,309,403,48],"44484140","phyzix5761",[405,32,48,406,11,44],"44484183","project\u002Fneutral\u002Fnone",[408,32,44,261,132,48],"44487368",[410,32,44,261,306,48],"44484586",[412,413,33,414,415,48],"44483230",17,"maker\u002Fneutral\u002Fnone","hackyhacky",[417,413,48,285,275,48],"44483344",[62,413,48,414,11,44],[420,242,47,281,421,48],"44485413","malkia",[423,242,48,246,11,44],"44485790",[425,426,47,427,428,48],"44505295",19,"maker\u002Fpositive\u002Fidea","arkt8",[221,430,44,324,222,48],20,[432,430,48,433,11,44],"44490789","maker\u002Fneutral\u002Fdocs",[435,430,33,246,436,48],"44493988","mirkules",[187,438,47,281,188,48],21,[440,438,48,246,11,44],"44487449",[442,443,44,444,445,48],"44493394",22,"project\u002Fcritical\u002Fperformance","badc0ffee",[150,447,44,261,151,48],23,[449,447,44,261,383,48],"44491017",[131,34,44,324,132,48],[452,34,48,246,11,44],"44483133",[454,455,47,364,456,48],"44494574",25,"edda7",[458,459,33,246,460,48],"44486179",26,"russellbeattie",[462,463,47,281,464,48],"44485081",27,"DigiEggz",[466,463,48,406,11,44],"44485814",[468,31,47,281,469,48],"44495959","mch82",[135,471,44,324,136,48],29,[146,473,44,261,147,48],30,[475,473,33,246,476,48],"44489975","jannes",[101,478,47,386,102,48],31,[480,478,48,309,11,44],"44483621",[123,482,47,483,124,48],32,"project\u002Fpositive\u002Fexecution",[485,486,47,281,487,48],"44496365",33,"durakot",[489,490,47,281,491,48],"44483460",34,"reconnecting",[493,490,48,246,11,44],"44483543",[157,495,44,261,158,48],35,[497,495,48,252,11,44],"44485931",[499,495,47,483,158,48],"44589544",[501,495,44,261,502,48],"44485950","magicalhippo",[504,495,48,252,11,44],"44486052",[506,495,47,386,502,48],"44488760",[209,508,44,261,210,48],36,[510,508,48,246,11,44],"44485914",[512,508,44,324,210,48],"44486912",[514,508,48,309,515,48],"44495380","KerrAvon",[517,518,47,386,519,48],"44483290",37,"FerkiHN",[521,518,48,309,11,44],"44483658",[523,524,33,246,525,48],"44490295",38,"zahirbmirza",[161,527,44,261,162,48],39,[529,527,48,252,11,44],"44503101",[531,532,47,386,533,48],"44483071",40,"Jonovono",[535,532,48,309,11,44],"44485793",[202,537,33,406,203,48],41,[539,537,48,406,11,44],"44487460",[112,541,47,352,113,48],42,[543,544,44,324,545,48],"44483482",43,"revskill",[547,544,48,246,11,44],"44483560",[549,550,47,386,551,48],"44484666",44,"ckrapu",[553,550,48,309,11,44],"44484805",[555,556,47,386,557,48],"44496572",45,"DubDouble",[116,559,47,352,117,48],46,[561,559,48,562,11,44],"44485807","project\u002Fneutral\u002Fperformance",[564,565,47,386,566,48],"44484051",47,"g_host56",[568,565,48,569,11,44],"44484660","maker\u002Fpositive\u002Fnone",[571,228,48,285,572,48],"44483623","Avshalom",[574,228,48,285,575,48],"44483989","johnklos",[577,228,48,285,11,44],"44484195",[579,228,48,285,580,48],"44484504","b112",[582,228,48,309,11,44],"44484202",[584,228,48,285,580,48],"44484495",[586,228,48,285,572,48],"44484676",[588,228,48,309,11,44],"44484810",[590,228,48,285,591,48],"44484720","wpm",[593,228,48,285,11,44],"44484821",[595,228,48,285,282,48],"44485148",[597,228,48,285,298,48],"44485816",[599,228,48,285,255,48],"44490541",[601,602,48,603,604,48],"44483424",49,"other\u002Fcritical\u002Fnone","londons_explore",[606,602,48,285,607,48],"44483466","frumplestlatz",[609,602,48,603,610,48],"44483840","yoz-y",[612,602,48,285,613,48],"44483857","slivanes",[615,602,48,406,11,44],"44483506",[617,602,48,285,618,48],"44484012","dang",[],[621,626,631,635,640,645],{"id":622,"name":623,"points":624,"category":625},"44498296","OffChess",369,"games",{"id":627,"name":628,"points":629,"category":630},"44512763","FlopperZiro",364,"hardware",{"id":632,"name":633,"points":634,"category":625},"44463967","Tower of Time",319,{"id":636,"name":637,"points":638,"category":639},"44514753","annas-mcp",256,"ai",{"id":641,"name":642,"points":643,"category":644},"44467838","Piano Trainer",203,"learning_science",{"id":646,"name":647,"points":648,"category":649},"44515266","Petrichor",202,"creative",false,"v2",{"id":653,"name":5,"line":6,"ai":650,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":654,"top":18,"kw":655,"maker":11,"domain":10,"tier":19,"attempts":48,"strip":656,"url":9,"mix":657,"praise":89,"objection":128,"sub":21},44482965,0.14,[21,24,25,26,27],"3253551213353515111451351533333345500000",[31,32,33,34],1794036677983]