[{"data":1,"prerenderedAt":470},["ShallowReactive",2],{"project-15425545":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":27,"sentiment":28,"stance_mix":29,"scored_comments":34,"aspects":35,"strip":45,"post_text":47,"what":48,"said":85,"maker_in_thread":183,"shape":192,"grid":197,"attempts":434,"same_week":435,"maker_shows":346,"maker_hidden":462,"reader_version":463,"card":464},"15425545","HNDesktop","Hacker News desktop application in Kotlin\u002FSwing","title","Show HN: Hacker News desktop application in Kotlin\u002FSwing","https:\u002F\u002Fgithub.com\u002Fwestoncb\u002FHNDesktop","github.com","westoncb",1507408282,2017,141,90,279,2242,13,"notable","consumer_social","hacker news client","desktop_app",[21,24,25,26],"kotlin swing","desktop hacker news","hn reader","mixed",-0.141,{"positive":30,"neutral":31,"mixed":32,"critical":33},4,12,3,9,28,{"design":36,"performance":39,"idea":41,"docs":43,"execution":44},{"positive":37,"critical":38},2,7,{"positive":40,"critical":40},1,{"positive":42,"critical":42},0,{"positive":42,"critical":42},{"positive":42,"critical":40},[42,42,42,42,42,32,40,32,32,32,40,42,42,42,40,42,40,40,32,32,42,40,32,42,32,40,42,42,46,46,32,42,46,32,40,32,42,42,42,42],5,null,{"problem":47,"audience":47,"pricing":47,"motivation":49,"time_to_build":47,"stack":62,"openness":82,"stage":83,"team_size":84},{"value":50,"source":51,"evidence":52},"Fun project to revisit Swing and satisfy nostalgia for old Swing apps.","maker",[53,56,59],{"id":54,"by":11,"text":55},"15426221","Hey kevinherron—thanks for the feedback. I actually was aware I could build something nicer with JavaFX, but one of the main constraints on the project was that it satisfy my…",{"id":57,"by":11,"text":58},"15427025","Haha, yep, it was a lot of fun. Especially going back and using Swing after about a decade of using other UI libs—that was a very interesting experience. When I was initially…",{"id":60,"by":11,"text":61},"15426592","Part of that is because Java has basically moved onto JavaFX over Swing—and partly it's because I built this specifically to resemble old Swing apps :)",[63,71,78],{"value":64,"source":51,"evidence":65},"Kotlin",[66,70],{"id":67,"by":68,"text":69},"15426197","kevinherron","Some suggestions: 1) don't start a new project in Swing when you could use JavaFX instead. Since you're using Kotlin, you'd also want to use TornadoFX, a nice DSL for JavaFX. 2)…",{"id":54,"by":11,"text":55},{"value":72,"source":51,"evidence":73},"Java Swing",[74,75],{"id":60,"by":11,"text":61},{"id":76,"by":11,"text":77},"15426131","It is a regular JTree! —mostly. I am using a custom TreeCellRenderer, which uses a JPanel with some labels on top, and a JTextPane for to display the comment itself (since the HN…",{"value":79,"source":51,"evidence":80},"Maven",[81],{"id":54,"by":11,"text":55},"open_source","launched","solo",{"praise":86,"objections":102,"requests":133,"questions":156,"alternatives":171},[87,95],{"value":88,"source":89,"evidence":90},"Metal look and feel nostalgia appreciated","commenter",[91],{"id":92,"by":93,"text":94},"15427433","tincholio","I love the old \"metal\" look and feel. It's retro-tastic! :)",{"value":96,"source":89,"evidence":97},"Kotlin choice welcomed over Electron",[98],{"id":99,"by":100,"text":101},"15426377","PleaseHelpMe","Very nice app and promising. However, I would the UI would look more \"modern\" (don't know if this is possible or not). Right now the button and the scrollbar is a bit outdated.…",[103,118,129],{"value":104,"source":89,"evidence":105},"Swing UI looks dated and ugly",[106,110,114],{"id":107,"by":108,"text":109},"15426205","noncoml","You were so preoccupied with wether you could, that you didn’t stop for one moment and think I’d you should! Just joking. Good job. I think it’s been years seen I saw a Java App,…",{"id":111,"by":112,"text":113},"15426586","justboxing","Ask HN on Show HN: Why is Swing UI still so Ugly ? 2 Decades since it's introduction in 1997 ( I remember being forced to use it in a trading OMS application in 2002), Swing UI…",{"id":115,"by":116,"text":117},"15425966","des429","Jesus. definitely looks like a swing app",{"value":119,"source":89,"evidence":120},"Electron-style memory and speed debate",[121,125],{"id":122,"by":123,"text":124},"15425979","_ar7","This is why electron is so popular",{"id":126,"by":127,"text":128},"15426270","thejosh","Also the memory usage is killer.",{"value":130,"source":89,"evidence":131},"Project lacked build setup",[132],{"id":67,"by":68,"text":69},[134,142,149],{"value":135,"source":89,"evidence":136},"More modern look and customizable theme",[137,141],{"id":138,"by":139,"text":140},"15426008","egocentric","Definitely got that swing feeling to it :) Is there any way to customize the theme? I'd love something that's more clean and looks more modern.",{"id":99,"by":100,"text":101},{"value":143,"source":89,"evidence":144},"Build instructions for kotlinc",[145],{"id":146,"by":147,"text":148},"15426038","anon6412","Has anyone successfully compiled it with the kotlinc command line tool?",{"value":150,"source":89,"evidence":151},"Add to list of HN clients",[152],{"id":153,"by":154,"text":155},"15426860","j_s","Add this to the list! Other ways to read Hacker News | https:\u002F\u002Fnews.ycombinator.com\u002Fitem?id=15310291 (Sep 2017, 181 comments) Includes mention of alternate websites, mobile apps,…",[157,164],{"value":158,"source":89,"evidence":159},"What framework do JetBrains tools use?",[160],{"id":161,"by":162,"text":163},"15426121","mberning","What framework does Jetbrains use for all their tools? They honestly look and perform great on every platform that I have used them on.",{"value":165,"source":89,"evidence":166},"How is the comment tree rendered?",[167],{"id":168,"by":169,"text":170},"15426110","marktangotango","Doesn't look like a regular jtree in the right pane, what did you use for showing the comment hierarchy?",[172,176],{"value":173,"source":89,"evidence":174},"Other HN clients listed in a prior thread (mobile apps, CLIs haxor-news and hn-cli)",[175],{"id":153,"by":154,"text":155},{"value":177,"source":89,"evidence":178},"MacKernews native macOS client",[179],{"id":180,"by":181,"text":182},"15426997","harisamin","Very cool! I made a native macOS desktop client . It does use a web view to render the article but the article list, comments, voting, commencing, login interactions are all…",{"comments":18,"answered":46,"key":184},[185,188,191],{"id":186,"text":187},"15426990","Btw, this project started when my sister and I were eating at Panera and decided it would be fun to each write an HN front-end. Hers was largely a project to learn React, which…",{"id":189,"text":190},"15426220","Haha! Thanks! I can't really say this is representative of the best modern Swing has to offer, though, so I hope people won't judge it too much by my joke project ;)",{"id":60,"text":61},{"commenters":193,"max_depth":194,"maker_replies":18,"first_comment_mins":195,"lifespan_hours":196},57,8,101,21,[198,202,205,209,212,216,220,223,226,227,230,234,236,238,242,245,246,247,249,252,255,257,260,263,265,267,270,274,276,278,281,284,286,289,292,295,297,300,303,305,308,310,313,315,316,319,322,324,328,329,330,332,335,337,339,343,345,348,351,353,356,359,362,365,368,370,372,373,375,378,381,384,386,390,395,397,399,401,404,405,408,411,414,417,419,422,424,426,429,432],[199,42,42,200,201,42],"15426683","other\u002Fneutral\u002Fnone","hasenj",[203,42,42,200,204,42],"15426959","agibsonccc",[206,42,42,207,208,42],"15426962","other\u002Fcritical\u002Fnone","kiwee",[210,42,42,200,211,42],"15427138","AlphaSite",[213,42,42,214,215,42],"15427898","commenter\u002Fneutral\u002Fnone","TXV",[217,42,42,218,219,42],"15427199","other\u002Fpositive\u002Fnone","ssijak",[221,42,42,218,222,42],"15427230","sandij",[224,42,42,218,225,42],"15428044","prophesi",[186,40,42,200,11,40],[228,40,42,218,229,42],"15427028","iamcreasy",[231,40,42,232,233,42],"15428565","other\u002Fneutral\u002Fdocs","dado3212",[107,37,32,235,108,42],"project\u002Fmixed\u002Fdesign",[189,37,42,237,11,40],"project\u002Fneutral\u002Fdesign",[239,37,40,240,241,42],"15426415","project\u002Fcritical\u002Fdesign","copperx",[243,37,32,237,244,42],"15426436","solomatov",[111,32,40,240,112,42],[60,32,42,237,11,40],[92,32,46,248,93,42],"project\u002Fpositive\u002Fdesign",[250,32,42,251,11,40],"15427458","maker\u002Fpositive\u002Fdesign",[253,32,32,237,254,42],"15426623","gruez",[256,32,42,237,11,40],"15426632",[258,32,32,237,259,42],"15426870","AnIdiotOnTheNet",[261,32,40,240,262,42],"15426904","hota_mazi",[264,32,42,214,259,42],"15426934",[266,32,42,214,262,42],"15426975",[268,32,42,214,269,42],"15427494","erikbye",[271,32,42,272,273,42],"15428016","commenter\u002Fneutral\u002Fdesign","megaman22",[275,32,42,214,262,42],"15428252",[277,32,42,214,259,42],"15428026",[279,32,42,272,280,42],"15427030","outworlder",[282,32,42,200,283,42],"15427900","kuschku",[285,32,40,240,262,42],"15426910",[287,32,42,214,288,42],"15427117","lmz",[290,32,42,214,291,42],"15427739","n3dst4",[293,32,42,214,294,42],"15427871","pvg",[296,32,42,214,262,42],"15428256",[298,32,40,240,299,42],"15427125","pjmlp",[301,32,32,235,302,42],"15427724","mhd",[304,32,42,272,299,42],"15427930",[306,32,40,240,307,42],"15428251","_pmf_",[309,32,42,272,299,42],"15428433",[311,32,32,237,312,42],"15427274","abiox",[314,32,32,237,294,42],"15427879",[161,30,42,200,162,42],[317,30,42,200,318,42],"15426148","stevoski",[320,30,42,218,321,42],"15426299","jm547ster",[323,30,42,200,299,42],"15427140",[325,30,42,326,327,42],"15427272","other\u002Fcritical\u002Fdesign","ComputerGuru",[115,46,40,240,116,42],[138,46,32,237,139,42],[331,46,42,237,11,40],"15426021",[333,46,42,272,334,42],"15426882","vturner",[336,46,42,237,11,40],"15426887",[338,46,42,272,334,42],"15426914",[340,46,42,341,342,42],"15426057","other\u002Fneutral\u002Fdesign","daenney",[344,46,32,237,299,42],"15427131",[122,346,40,347,123,42],6,"project\u002Fcritical\u002Fperformance",[349,346,42,350,11,40],"15425991","project\u002Fneutral\u002Fperformance",[126,346,42,352,127,42],"commenter\u002Fneutral\u002Fperformance",[354,346,42,352,355,42],"15426822","dawnerd",[357,346,42,352,358,42],"15427457","captainmuon",[360,346,42,352,361,42],"15427624","mrighele",[363,346,42,200,364,42],"15426100","donovanm",[366,346,46,367,244,42],"15426441","project\u002Fpositive\u002Fperformance",[153,38,32,369,154,42],"project\u002Fneutral\u002Fidea",[371,194,46,248,334,42],"15426889",[99,33,32,235,100,42],[180,374,42,200,181,42],10,[146,376,32,377,147,42],11,"project\u002Fneutral\u002Fdocs",[379,376,42,380,11,40],"15426054","maker\u002Fneutral\u002Fdocs",[382,31,42,200,383,42],"15426823","solidsnack9000",[385,31,42,200,11,40],"15426831",[387,18,32,388,389,42],"15429085","project\u002Fneutral\u002Fnone","camus2",[391,392,46,393,394,42],"15427014",14,"maker\u002Fpositive\u002Fnone","wcauchois",[57,392,42,396,11,40],"maker\u002Fneutral\u002Fnone",[168,398,32,237,169,42],15,[76,398,42,400,11,40],"maker\u002Fneutral\u002Fdesign",[67,402,40,403,68,42],16,"maker\u002Fcritical\u002Fexecution",[54,402,42,396,11,40],[406,402,32,407,68,42],"15426845","maker\u002Fneutral\u002Fexecution",[409,402,42,200,410,42],"15426316","crispinb",[412,402,42,200,413,42],"15426844","jcpst",[415,402,42,416,410,42],"15427009","other\u002Fneutral\u002Fpricing",[418,402,42,416,269,42],"15427518",[420,402,42,421,410,42],"15427951","commenter\u002Fneutral\u002Fpricing",[423,402,42,421,273,42],"15428033",[425,402,42,416,299,42],"15427959",[427,402,42,200,428,42],"15427925","mattgreenrocks",[430,402,42,200,431,42],"15427710","brabel",[433,402,42,200,410,42],"15427958",[],[436,441,446,451,454,458],{"id":437,"name":438,"points":439,"category":440},"15429390","fd",456,"dev_tools",{"id":442,"name":443,"points":444,"category":445},"15425324","sunboxlabs",236,"infrastructure",{"id":447,"name":448,"points":449,"category":450},"15417975","Resume Worded",209,"productivity",{"id":452,"name":453,"points":449,"category":440},"15427891","FormAPI",{"id":455,"name":456,"points":457,"category":450},"15433879","Rejection Conditioner",177,{"id":459,"name":460,"points":461,"category":440},"15422995","ui-avatars",164,false,"v2",{"id":465,"name":5,"line":6,"ai":462,"cat":20,"year":13,"points":14,"comments":15,"rec":27,"s":466,"top":18,"kw":467,"maker":11,"domain":10,"tier":19,"attempts":42,"strip":468,"url":9,"mix":469,"praise":88,"objection":104,"sub":21},15425545,-0.14,[21,24,25,26],"0000031333100010113301303100553053130000",[30,31,32,33],1794036559575]