<div dir="ltr">Chip,<div><br></div><div>What you need to do is exactly what I do for a living. I agree with you about the Ruby/Rails combination, but any software stack has a fairly steep learning curve. I use Python/Django which I feel is easier than the Ruby/Rails combination. The thing is that if you think your site will have more than maybe 10 to 20 users you will need a software stack like a Ruby or Python one to handle concurrency issues. Using canned development platforms won't cut it in the long run they will probably not give you the the customization features you may need.</div><div><br></div><div>OK, so the upshot of what I'm saying is that if you are doing this for a business then you need a professional site built. There are so many gotchas that you may miss some that are critical. The first thing that needs to be done is to wireframe out the site on paper or power point etc. Starting by writing code will almost never get you what you want.</div><div><br></div><div>What I can do for you is help you pull together what actually needs to be built, then later on you can decide how or what you want to do. I'm not expecting any remuneration, and this offer is open to anybody that finds themselves in a similar situation. The web today is not what it was 10 or 15 years ago, it has become a complex maze to navigate, so I'm here to help.</div><div><br></div><div>Carl</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Apr 25, 2015 at 12:39 PM, Chip McClelland via TriEmbed <span dir="ltr"><<a href="mailto:triembed@triembed.org" target="_blank">triembed@triembed.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">To all, <div><div><br></div><div>I have been heads down for the last month finishing a project that I have put off for some time.  I have enjoyed building my trail sensors and using them to collect data in our Raleigh area parks.  What I had neglected we writing the software that could upload those datapoints to my laptop and perform the analysis.  I knew I was going to have to learn some new language(s) and, for some reason, a pure software project is just not as appealing as writing embedded code.  Well, I finally bit the bullet and wanted to share a few things I learned and ask for a little help as well.</div><div><br></div><div>First, here is what I wanted to accomplish:</div><div><span style="white-space:pre-wrap">    </span>- Build a web-facing application that anyone who uses my sensors could access</div><div><span style="white-space:pre-wrap">    </span>- Provide a clean, simple interface that would not require much hand-holding</div><div><span style="white-space:pre-wrap">     </span>- Upload a text file with a specific format defined by the firmware on the sensor (5 line header and each row holding a date/time value)</div><div><span style="white-space:pre-wrap"> </span>- Parse the file and find the last recoded data set</div><div><span style="white-space:pre-wrap">      </span>- Preview the file so folks could see what was in it and allow for trimming to take out “noise” from placing and retrieving the sensor</div><div><span style="white-space:pre-wrap">       </span>- Refine the results with the ability to add historical weather data (rain can cause false datapoints) and some basic filters for “noise”</div><div><span style="white-space:pre-wrap">    </span>- Produce a report that the user could print or store </div><div><br></div><div>After some false starts (Ruby on Rails - too painful) I decided to use the current favorite - JavaScript / HTML / CSS.  I used <a href="http://www.codecademy.com/learn" target="_blank">CodeAcademy</a> - an awesome free service - to learn these languages.  I learned that I also needed a framework to simplify making a professional page, the CodeAcademy courses use the <a href="http://getbootstrap.com/" target="_blank">Bootstrap</a>  framework (free thanks to Twitter) and an extension to JavaScript called <a href="https://jquery.com/" target="_blank">Jquery</a>.  There are a huge number of frameworks and JavaScript extensions out there and I looked at many of them but, I can recommend this as a solid combination.</div><div><br></div><div>If you have ever taken a CodeAcademy course, you will come to love their interactive interface.  I wanted to use something similar in my development work.  I wasted a fair bit of time looking at professional tools such as Eclipse, WebStorm, Sublime - all great for some folks but I wanted that integrated and real time experience and found JSBin. Here is a <a href="http://jsbin.com/lozudo/3/edit?html,css,js,output" target="_blank">simple example </a>that you can play with showing how JavaScript, HTML and CSS work together to create an interactive site.  There are others such as JSFiddle but JSBin is the only one I found that includes a console (where error messages go) and I planned to make a lot of mistakes.  </div><div><br></div><div>There are a number of non-intuitive things about JavaScript and the CodeAcademy courses got me started but, more often than not, I would run into a problem and need a specific answer.  That is where <a href="http://stackoverflow.com" target="_blank">StackOverflow</a> came to the rescue over and over again. Their process helps float credible and relevant answers to the top of the heap.  I owe the folks who volunteer their expertise to this site a huge debt and I hope to provide answers to questions there myself someday (once I am allowed to - you have to earn that right by building your reputation).  </div></div><div><br></div><div>Also, there are a ton of free and open APIs that make things like getting historical weather (<a href="http://www.wunderground.com/weather/api/" target="_blank">WeatherUnderground</a>) and tables and charts (<a href="https://developers.google.com/chart/interactive/docs/index" target="_blank">Google charts visualization</a>) as well as methods for file upload and parsing.  I took full advantage of these in this project.</div><div><br></div><div>JSBin has a method to “host” your site and I wanted to ask a favor.  If you have a few minutes, could you please try the following exercise?</div><div><span style="white-space:pre-wrap">       </span>- Download a sample data set from <a href="http://triembed.org/blog/?attachment_id=1059" target="_blank">here</a>.</div><div><span style="white-space:pre-wrap">      </span>- Using Chrome or Safari (not sure if Firefox will work), Go to <a href="http://chipmc.jsbin.com" target="_blank">this site</a> where I am hosting the application</div><div><span style="white-space:pre-wrap">     </span>- Find the file on your hard drive (select local time) and see if the flow from preview to refine to repot is intuitive.</div><div>All comments on usability, clarity, look and feel are welcome.   </div><div><br></div><div>I would also be interested in any advice or assistance in looking at my code.  I am sure I have done many things wrong in this first project you can see the code behind this project <a href="http://jsbin.com/qidela/1/edit?html,css,js,output" target="_blank">here</a>.  Also, if there are any JavaScript gurus or groups I can ask for help, please let me know.</div><div><br></div><div>If you made it this far in this long note, thank you.  If you can provide me with any feedback, I would very much appreciate it.  Now, with this project done, time to get back to something that requires soldering!</div><div><br></div><div>Thanks,  Chip</div><div><br></div></div><br>_______________________________________________<br>
Triangle, NC Embedded Computing mailing list<br>
<a href="mailto:TriEmbed@triembed.org">TriEmbed@triembed.org</a><br>
<a href="http://mail.triembed.org/mailman/listinfo/triembed_triembed.org" target="_blank">http://mail.triembed.org/mailman/listinfo/triembed_triembed.org</a><br>
TriEmbed web site: <a href="http://TriEmbed.org" target="_blank">http://TriEmbed.org</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">-------------------------------------------------------------------------------<br>Carl J. Nobile (Software Engineer)<br><a href="mailto:carl.nobile@gmail.com" target="_blank">carl.nobile@gmail.com</a><br>-------------------------------------------------------------------------------</div>
</div>