[{"data":1,"prerenderedAt":387},["ShallowReactive",2],{"project-23475891":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":29,"sentiment":30,"stance_mix":31,"scored_comments":36,"aspects":37,"strip":46,"post_text":48,"what":49,"said":87,"maker_in_thread":195,"shape":206,"grid":209,"attempts":350,"same_week":351,"maker_shows":41,"maker_hidden":379,"reader_version":380,"card":381},"23475891","My first Android App","order-taker for family company that sells wood","title","Show HN: My first Android App – order-taker for family company that sells wood","https:\u002F\u002Fgithub.com\u002FMaherDeeb\u002Ftake_orders_app","github.com","maherdeeb",1591788308,2020,123,58,519,3028,18,"notable","web_saas","order taking for wholesale business","mobile_app",[24,25,26,27,28],"order taking","android app","invoice","wood warehouse","offline app","debated",-0.047,{"positive":32,"neutral":33,"mixed":34,"critical":35},6,10,0,8,24,{"execution":38,"design":40,"idea":43,"docs":45},{"positive":34,"critical":39},1,{"positive":41,"critical":42},2,3,{"positive":42,"critical":44},4,{"positive":34,"critical":34},[34,42,34,34,34,34,34,34,47,39,34,39,42,42,42,39,39,34,39,42,47,42,47,34,47,47,42,34,42,42,39,34,34,39,34,42,47,34,34,34],5,null,{"problem":50,"audience":60,"pricing":48,"motivation":67,"time_to_build":48,"stack":71,"openness":84,"stage":85,"team_size":86},{"value":51,"source":52,"evidence":53},"Warehouse workers handwrite invoices; manager has no near real-time sales data","maker",[54,57],{"id":55,"by":11,"text":56},"23483832","The App is used now by our workers in the wood warehouse to replace handwriting invoices. There is no online market place here. As a manager, if I want to know how the business…",{"id":58,"by":11,"text":59},"23475892","Motivation: My family owns a company that sells sawn wood and plywood products. Although I am currently not engaged in its business, I am very interested in finding out how the…",{"value":61,"source":52,"evidence":62},"Warehouse sales workers at a family sawn wood and plywood company",[63,64],{"id":55,"by":11,"text":56},{"id":65,"by":11,"text":66},"23486573","That is a good point! Our workers have Android phones which are at least 6 years old. Later after the test period, I am planning to provide them with a tablet specifically for…",{"value":68,"source":52,"evidence":69},"Replace handwritten invoices with data to give manager real-time business insight",[70],{"id":58,"by":11,"text":59},[72,79],{"value":73,"source":74,"evidence":75},"Kotlin","inferred",[76],{"id":77,"by":11,"text":78},"23483678","Thanks for your feedback. I tried to use data classes in Kotlin to remove hardcoded data from the main code. In Python, this is easy and very useful. Splitting the classes was…",{"value":80,"source":52,"evidence":81},"Android",[82],{"id":83},"post","open_source","launched","solo",{"praise":88,"objections":105,"requests":147,"questions":162,"alternatives":179},[89],{"value":90,"source":91,"evidence":92},"Good first app solving a real internal business problem","commenter",[93,97,101],{"id":94,"by":95,"text":96},"23484109","mysticllama","i think it's awesome that you solved a problem yourself and learned something new. to me, it makes sense that you built a native android app given the use-case you're describing…",{"id":98,"by":99,"text":100},"23483863","frequentnapper","Congrats on solving your internal business problem. I did something similar for a company I worked for but using windows toughbook devices. BTW, what beer is that?",{"id":102,"by":103,"text":104},"23485529","smckk","Great job. I am learning to build apps in android. Currently most of the tutorials and even books I come across have quite small examples to follow, usually 2 activity files and…",[106,121,132],{"value":107,"source":91,"evidence":108},"Should be a web app or PWA instead of native app",[109,113,117],{"id":110,"by":111,"text":112},"23483536","jessaustin","There probably aren't many sawyers on iPhone, but still I'm curious... at this point in time, why not just a PWA for something like this? Even if the other advantages are…",{"id":114,"by":115,"text":116},"23484333","cheez","This should be a web app",{"id":118,"by":119,"text":120},"23483632","joe_the_user","I would never download an app just to buy stuff from a random company, even a local company I'd use (and live in a rural area now, person-to-person contact matters, I'm bought…",{"value":122,"source":91,"evidence":123},"Dated UI design",[124,128],{"id":125,"by":126,"text":127},"23484793","httpsterio","Not to be a Debbie downer but design wise it has issues both aesthetically and in its flow. It's hard to gauge the overall status in the order processing and functionality isn't…",{"id":129,"by":130,"text":131},"23485498","mfkp","I was going to say, what version of Android is the demo video running? It looks like it's the Android design from 5 years ago. Definitely could use some UI enhancements.",{"value":133,"source":91,"evidence":134},"Code organization and lifecycle handling need work",[135,139,143],{"id":136,"by":137,"text":138},"23483417","tananaev","Nowadays it's recommended to use Fragments instead of Activities, but it's kind of controversial topic. It looks like you have some hardcoded data. I would move that to…",{"id":140,"by":141,"text":142},"23488891","Farbklex","The biggest pitfall is saving and restoring the app state when the configuration changes or the process is killed. Your app runs into UX problems and at one instance a crash,…",{"id":144,"by":145,"text":146},"23484429","Benjammer","I didn't dig too deeply into the code itself and the logic flows, but at a very high level I could start with some project organization feedback that might make your life easier…",[148,155],{"value":149,"source":91,"evidence":150},"Add screenshots to the GitHub page",[151],{"id":152,"by":153,"text":154},"23484783","NonEUCitizen","Some screenshots on the github page would be nice.",{"value":156,"source":91,"evidence":157},"Use Material design defaults instead of custom styling",[158],{"id":159,"by":160,"text":161},"23486881","vegesm","My tip is not to use custom styling for buttons\u002Ftext\u002Fetc just use the default Material design. It is already pretty nice, certainly better than what a non-designer can come up…",[163,171],{"value":164,"source":91,"evidence":165},"Why build a mobile app instead of a web app",[166,170],{"id":167,"by":168,"text":169},"23488067","SergeAx","That's a nice pet project, congrats with HN 1st page) Out of curiosity: was it really nesessary to build a mobile app, what are the benefits compared to web-app?",{"id":118,"by":119,"text":120},{"value":172,"source":52,"evidence":173},"Whether fragments or activities are best",[174,175],{"id":58,"by":11,"text":59},{"id":176,"by":177,"text":178},"23485818","quantummkv",">I used activities instead of fragments. I had the feeling that the fragment was not the best option because the navigation plan can be too complex. am I right? > When choosing…",[180,188],{"value":181,"source":91,"evidence":182},"Progressive web app",[183,184],{"id":110,"by":111,"text":112},{"id":185,"by":186,"text":187},"23484827","darkteflon","PWA: https:\u002F\u002Fen.m.wikipedia.org\u002Fwiki\u002FProgressive_web_application",{"value":189,"source":91,"evidence":190},"Flutter",[191],{"id":192,"by":193,"text":194},"23484640","rohan1024","Hey if you are starting with Android development, take a look at http:\u002F\u002Fflutter.dev",{"comments":196,"answered":197,"key":198},17,11,[199,200,203],{"id":58,"text":59},{"id":201,"text":202},"23486410","That is great feedback! It is really helpful and I am going to consider those points next time! Thank you very much for your time and effort.",{"id":204,"text":205},"23486476","Your illustration about activity vs fragment is awesome. I wish I knew this before. Thank you very much!",{"commenters":207,"max_depth":32,"maker_replies":196,"first_comment_mins":34,"lifespan_hours":208},36,30,[210,212,214,216,220,221,224,227,230,232,235,237,239,240,242,245,247,250,252,255,256,260,262,264,265,267,269,270,271,272,274,275,277,279,282,284,287,291,293,296,298,302,305,308,310,314,316,319,321,323,326,329,331,335,339,342,344,347],[58,34,34,211,11,39],"maker\u002Fneutral\u002Fdesign",[144,34,42,213,145,34],"maker\u002Fneutral\u002Fexecution",[201,34,34,215,11,39],"commenter\u002Fneutral\u002Fnone",[217,34,34,218,219,34],"23486467","commenter\u002Fneutral\u002Fdesign","thetanuj",[192,34,34,215,193,34],[222,34,34,215,223,34],"23484865","balladeer",[225,34,34,215,226,34],"23485105","10-1-100",[228,34,34,215,229,34],"23486103","jamil7",[231,34,34,215,226,34],"23491015",[233,34,34,215,234,34],"23487423","easytiger",[236,34,34,215,226,34],"23491049",[176,34,47,238,177,34],"maker\u002Fpositive\u002Fdesign",[204,34,34,218,11,39],[140,34,39,241,141,34],"maker\u002Fcritical\u002Fexecution",[243,34,34,244,11,39],"23489964","commenter\u002Fneutral\u002Fexecution",[110,39,39,246,111,34],"project\u002Fcritical\u002Fidea",[248,39,39,246,249,34],"23484625","lecarore",[185,39,42,251,186,34],"project\u002Fneutral\u002Fidea",[253,39,42,254,229,34],"23486111","project\u002Fneutral\u002Fexecution",[55,41,34,251,11,39],[257,41,42,258,259,34],"23484571","maker\u002Fneutral\u002Fnone","eximius",[261,41,34,258,11,39],"23486525",[125,42,39,263,126,34],"project\u002Fcritical\u002Fdesign",[129,42,39,263,130,34],[65,42,34,266,11,39],"project\u002Fneutral\u002Fdesign",[268,42,34,211,11,39],"23486584",[159,42,39,263,160,34],[136,44,42,254,137,34],[77,44,34,213,11,39],[94,47,47,273,95,34],"project\u002Fpositive\u002Fidea",[167,32,42,251,168,34],[276,32,34,251,11,39],"23490056",[98,278,47,273,99,34],7,[280,278,34,281,11,39],"23483911","other\u002Fneutral\u002Fnone",[102,35,47,283,103,34],"maker\u002Fpositive\u002Fnone",[285,286,34,281,229,34],"23485593",9,[288,33,47,289,290,34],"23484686","maker\u002Fpositive\u002Fidea","fblp",[292,33,34,258,11,39],"23486648",[294,197,42,258,295,34],"23484614","stockkid",[297,197,34,251,11,39],"23486636",[299,300,42,266,301,34],"23484228",12,"vmception",[303,300,34,304,11,39],"23486672","project\u002Fneutral\u002Fnone",[152,306,42,307,153,34],13,"project\u002Fneutral\u002Fdocs",[114,309,39,246,115,34],14,[311,309,34,312,313,34],"23485181","commenter\u002Fneutral\u002Fidea","thecolorblue",[315,309,34,312,115,34],"23489388",[317,309,34,281,318,34],"23486104","javieranton",[320,309,34,215,115,34],"23489403",[118,322,39,246,119,34],15,[324,322,34,325,11,39],"23483778","maker\u002Fneutral\u002Fidea",[327,322,42,251,328,34],"23483837","morsch",[330,322,34,251,11,39],"23483876",[332,322,47,333,334,34],"23484020","project\u002Fpositive\u002Fdesign","def8cefe",[336,337,34,281,338,34],"23483481",16,"mciancia",[340,337,34,281,341,34],"23483538","dang",[343,337,34,281,11,39],"23483783",[345,337,34,281,346,34],"23484126","shermanmccoy",[348,337,34,281,349,34],"23483564","OJFord",[],[352,357,362,366,370,375],{"id":353,"name":354,"points":355,"category":356},"23420091","Grid.js",390,"dev_tools",{"id":358,"name":359,"points":360,"category":361},"23418796","C0D3",261,"learning_science",{"id":363,"name":364,"points":365,"category":356},"23466506","topngx",219,{"id":367,"name":368,"points":369,"category":356},"23433290","Jqview",208,{"id":371,"name":372,"points":373,"category":374},"23448608","Puree",190,"security_privacy",{"id":376,"name":377,"points":378,"category":356},"23443430","Weylus",176,false,"v2",{"id":382,"name":5,"line":6,"ai":379,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":383,"top":18,"kw":384,"maker":11,"domain":10,"tier":19,"attempts":34,"strip":385,"url":9,"mix":386,"praise":90,"objection":107,"sub":21},23475891,-0.05,[24,25,26,27,28],"0300000051013331101353505530331001035000",[32,33,34,35],1794036591881]