{"id":324,"date":"2019-01-09T02:32:10","date_gmt":"2019-01-09T02:32:10","guid":{"rendered":"http:\/\/www.scoobr.com\/niblettes_old\/?p=324"},"modified":"2021-06-04T02:32:26","modified_gmt":"2021-06-04T02:32:26","slug":"my-prototyping-toolkit-6-of-7","status":"publish","type":"post","link":"http:\/\/www.scoobr.com\/niblettes_old\/2019\/01\/09\/my-prototyping-toolkit-6-of-7\/","title":{"rendered":"My Prototyping Toolkit (6 of 7)"},"content":{"rendered":"<h2>6. Functional Prototypes<\/h2>\n<p>Functional prototypes actually work. They also blur the lines between prototyping and engineering. But sometimes they are necessary to either fully demonstrate a vision. And sometimes its almost faster to build something real then something fake.<\/p>\n<h3>Tools<\/h3>\n<ol>\n<li>Ruby on Rails<\/li>\n<li>Xcode<\/li>\n<li>Atom<\/li>\n<\/ol>\n<p><img decoding=\"async\" src=\"http:\/\/www.scoobr.com\/niblettes_old\/wp-content\/uploads\/2019\/01\/09-ror.png\" alt=\"\" \/><\/p>\n<h3>Ruby on Rails<br \/>\nFor the Web<\/h3>\n<p>RoR is a venerable web development framework. I still use it to rapidly prototype fully functional, db-driven, web-based application designs. Its fast. Its DRY. Within an hour I can have a very basic commerce site built and deployed.<\/p>\n<p>The learning curve is steep. You need to know Ruby and understand the model-view-controller paradigm. You will have to use the CLI a lot. You should understand relational databases. And hand crafting HTML and CSS will often be helpful.<\/p>\n<p>There may be better frameworks for prototyping. And working with JS will be more transferable. But, I use RoR because we have a history together, and it does what I need.<\/p>\n<h4>Benefits<\/h4>\n<ul>\n<li>Your prototype is real and truly interactive<\/li>\n<li>You can use real data<\/li>\n<li>You can focus on behaviour and workflow and let the framework worry about layout<\/li>\n<\/ul>\n<h4>Drawbacks<\/h4>\n<ul>\n<li>Steep learning curve<\/li>\n<li>Code (benefit for some, drawback for others)<\/li>\n<li>Relies on a web of integrated technologies that you will have to learn<\/li>\n<li>Ruby is not a common language so it it not very transferable<\/li>\n<li>It is getting old now, there are newer and more popular frameworks<\/li>\n<\/ul>\n<h4>Price<\/h4>\n<ul>\n<li>Free<\/li>\n<\/ul>\n<h4>Alternatives I have Used<\/h4>\n<ul>\n<li><strong>ColdFusion<\/strong>. Eons ago.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-316\" src=\"http:\/\/www.scoobr.com\/niblettes_old\/wp-content\/uploads\/2019\/01\/10-xcode-1.png\" alt=\"Xcode screen\" width=\"1102\" height=\"762\" srcset=\"http:\/\/www.scoobr.com\/niblettes_old\/wp-content\/uploads\/2019\/01\/10-xcode-1.png 1102w, http:\/\/www.scoobr.com\/niblettes_old\/wp-content\/uploads\/2019\/01\/10-xcode-1-300x207.png 300w, http:\/\/www.scoobr.com\/niblettes_old\/wp-content\/uploads\/2019\/01\/10-xcode-1-1024x708.png 1024w, http:\/\/www.scoobr.com\/niblettes_old\/wp-content\/uploads\/2019\/01\/10-xcode-1-768x531.png 768w\" sizes=\"auto, (max-width: 1102px) 100vw, 1102px\" \/><\/p>\n<h3>XCode<br \/>\nIntegrated Development Environment<\/h3>\n<p>Apple&#8217;s industrial strength development environment. I use it to produce highly realistic iOS prototypes, without relying on hacks or fakes. In many cases I can do it faster and with less frustration than with Axure. Learning Swift is a prerequisite. Checkout Stanford&#8217;s free software engineering classes on Swift.<\/p>\n<p>To be honest my Swift-fu is weak. I am limited to using standard iOS controls rather than playing with novel navigation methods or clever animated transitions. Still, sometimes testing with a real app, that really works, on a real phone is worth it.<\/p>\n<p>If you don&#8217;t mind working in Code and thinking like an software engineer, XCode can be an exceptional prototyping tool.<\/p>\n<h4>Benefits<\/h4>\n<ul>\n<li>Very powerful<\/li>\n<li>Truly interactive prototypes<\/li>\n<li>Make real app using Apple&#8217;s controls<\/li>\n<\/ul>\n<h4>Drawbacks<\/h4>\n<ul>\n<li>Steep learning curve, for the tool, for the language and the APIs<\/li>\n<li>Code (benefit for some, drawback for others)<\/li>\n<li>From a design perspective, InterfaceBuilder behaves in weird and unexpected ways<\/li>\n<li>I haven&#8217;t found a CSS-like anything for formatting, which makes it a lot of error-prone manual work to keep all the font styles consistent for example.<\/li>\n<li>Hard to demo to non-Apple users<\/li>\n<\/ul>\n<h4>Price<\/h4>\n<ul>\n<li>Free<\/li>\n<\/ul>\n<h4>Alternatives I have Used<\/h4>\n<ul>\n<li>None<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"http:\/\/www.scoobr.com\/niblettes_old\/wp-content\/uploads\/2019\/01\/11-atom.png\" alt=\"\" \/><\/p>\n<h3>Atom<br \/>\nCode Editor<\/h3>\n<p>When I need to dig directly into code I use Atom. I used to use TextMate. As a designer the finer points of editor preference that erupts into developer holy wars is lost on me. Atom looks a little nicer to me.<\/p>\n<h4>Benefit<\/h4>\n<ul>\n<li>Give my usage I notice little difference with other text editors<\/li>\n<\/ul>\n<h4>Drawbacks<\/h4>\n<ul>\n<li>None<\/li>\n<\/ul>\n<h4>Price<\/h4>\n<ul>\n<li>Free<\/li>\n<\/ul>\n<h4>Alternatives I have Used<\/h4>\n<ul>\n<li>Textmate, Brackets<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>6. Functional Prototypes Functional prototypes actually work. They also blur the lines between prototyping and engineering. But sometimes they are necessary to either fully demonstrate a vision. And sometimes its almost faster to build something real then something fake. Tools Ruby on Rails Xcode Atom Ruby on Rails For the Web RoR is a venerable [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[2],"tags":[],"class_list":["post-324","post","type-post","status-publish","format-standard","hentry","category-design"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/parCYG-5e","_links":{"self":[{"href":"http:\/\/www.scoobr.com\/niblettes_old\/wp-json\/wp\/v2\/posts\/324","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.scoobr.com\/niblettes_old\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.scoobr.com\/niblettes_old\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.scoobr.com\/niblettes_old\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/www.scoobr.com\/niblettes_old\/wp-json\/wp\/v2\/comments?post=324"}],"version-history":[{"count":1,"href":"http:\/\/www.scoobr.com\/niblettes_old\/wp-json\/wp\/v2\/posts\/324\/revisions"}],"predecessor-version":[{"id":331,"href":"http:\/\/www.scoobr.com\/niblettes_old\/wp-json\/wp\/v2\/posts\/324\/revisions\/331"}],"wp:attachment":[{"href":"http:\/\/www.scoobr.com\/niblettes_old\/wp-json\/wp\/v2\/media?parent=324"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.scoobr.com\/niblettes_old\/wp-json\/wp\/v2\/categories?post=324"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.scoobr.com\/niblettes_old\/wp-json\/wp\/v2\/tags?post=324"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}