Tuesday, March 17, 2015

Week 5

Hello Blog-Viewers,

Welcome to another week of my blog. I apologize for how late I am with writing this post. I have two excuses: I spent the weekend volunteering at the Scottsdale Arts Festival which drained my energy and put me directly to sleep when I got home. Secondly, I was hoping to be done with the next portion of my program before posting. I guess this stuff really takes a long time because I am still in the process.

But here is what I did this week:

Thanks to Mr. Chen's computer science class, I was able to quickly put together a java program that lets ScrapZero employees edit the data that shows up on the iPhone application (previously discussed) without having to understand anything about programming. This program was supposed to look a little bit like the following:

Essentially, "New Data Type" adds a new column and "New Service" adds a new row in the table. Here you can click on any of the grey blank spaces and add new data to fill up the table. This JSON Creator program automatically sends the finished file out into the cloud where it is then transferred all the users' iDevices so that data is always up to date.

Unfortunately, AP Computer Science doesn't spend too much time on making GUIs or graphical user interfaces so what I came up with is  what you see below (on the left side of the screen.) The functionality is there, but I still need to make this appear more like the interface I originally designed in photoshop.

Although the JSON Creator app is not entirely complete, it has been satisfying to know that a simple computer science course in high school could be so helpful.

Saturday, March 7, 2015

Week 4

Hello Blog-Viewers,

Welcome to my fourth week of working with ScrapZero. Last week I set a goal of completing the program by this past Tuesday. Unfortunately, time has past and I have yet to complete it. 

I discovered something new about programming this week—threading. Apparently, in most computers, programs run operations simultaneously and do not always follow the order specified by the programmer. Logically, this would seem to speed up computer processes and it does.. But it definitely slowed down my process (of completing the program.) 

So here is an example of multi-threading:

If I have two functions, “f1” and “f2”, I might choose to run “f1” before “f2”. Logically, in a generic programming language, one would write:
“run f1”
“run f2”

The problem is that “f2” might have already completed a task before “f1” finished. In my case, “f2” was highly dependent on the results of “f1” which basically made the program fail every time. 

So what did I do about this? I learned how to use multi-threading in programs to my advantage. In the Swift programming language, there is a method of prioritizing events with a block of code that looks like this:

 dispatch_async(qos, { () -> Void in
//code to be run goes here
}
//qos is another variable that defines how important the process is.

I probably should not go into too much detail as these processes are still a brain teaser for me. 

So I finally fixed my code and the app is running properly. Although the app is not complete, I am going to start building an interface for ScrapZero so that it can easily modify the JSON file that I mentioned in the last blog post. This way, I won’t have to be the one to update the information that is uploaded to the app. 

Thank you for checking out my blog. I hope to have some serious results in soon.

Lorentz

Saturday, February 28, 2015

Week 3

Hello Blog-Viewers,

Welcome to my third week of software development. This week, I began to focus on coding once again and plan to have my app finished by this Tuesday (an arbitrarily chosen date; however, I need to feel that I have accomplished something.) This week, I worked on making my app dynamic such that new information can be added to the app even after I have published the final version to the Apple App Store.

So I thought learning the Swift programming language would be enough for me to create the app. But it turns out, I need to know JavaScript and JSON to make the app dynamic. I spent some time learning these languages and applying some of what I already knew.

So here is an inside look into the code that I have written:
This is only a very small section of the code from this file. And there are many more files that I have written. Besides informing you of the work I have put into this, I wanted to show that all these language come together.

So essentially, the Swift code now imports data from a website that I have created every time the app opens. This allows me to update locations in the map  view and other data on the home screen. This is how the map to the right knows where to place the place marks. As you can see, I was only testing the code and that is why there are only three place marks. I am going to copy and paste the other locations soon.

Saturday, February 21, 2015

Week 2

Hi blog-viewers,


         Welcome to my second week of work spent on software development and data gathering. I spent my week gathering information about local compost services that can be added to the map that I have started to develop. Initially, I doubted the usefulness of my app considering that people could simply find local compost services for themselves; however, after researching these services on my own I realized how difficult they were to find. This app is going to help people synthesize this information into a readable format and allow people to focus on what is important to them–those services that are most nearby to the user. last week I started in on the app development perhaps too quickly. I needed to get my information and set a goal; and this week I have worked on those two things.
After I created my plan for this app, I needed to focus on finding ideal conditions for composting, discover what can and cannot be composted. The home page of the app now contains this general information and there is a tab that allows users to find local services if they don’t wish to compost on their own. I hope to make the app as general as possible so that it can be used even by people not located in the Phoenix area.

Saturday, February 14, 2015

Week 1

Hello all,

Welcome to the end of my first week with ScrapZero. Although I am working mostly with ScrapZero for my project, I am also working to increase general awareness to the benefits of composting, as well as to the ease at which it can be done. This week, I started producing an app for Phoenix Renews which is a company/project that allows people to become urban farmers and/or dispose of their organic waste in a sustainable way. 

You can check out more of what they do at the following link: http://phxrenews.org/

Here are some pictures I took while I was on site. 




As you can see, the site is becoming fertile; artists have created paintings and other artistic features to make the environment more inviting.


So what have I been doing? This week I spent most of my time reading through source code, swift programming documentation, and finally spending the remaining time building my own app. Because swift is a brand new language, it’s been a little bit difficult to learn, but I am working hard and figuring it out. It turns out that the most comprehensible tutorial on swift came from a some German programmer on YouTube. I couldn’t exactly understand the German and I don’t think the captions conveyed what he meant either… However, this mostly inscrutable–with regards to language–tutorial, is what has helped me most so far.



If nothing else, these tutorials were entertaining! Gotta love the language barrier.


So now I have developed the beginnings of an application for the iPhone. At this point, the app simply finds one’s current location and shows what urban farm/waste management centers are nearby. This next week, I plan to add more information about what can be composted and what materials are needed most at these centers to make the most efficient decomposition of organic food waste into fertile soil.



Monday, January 19, 2015

Introduction

Hello blog-viewers,

My name is Lorentz Houser and I am excited to be publishing the journey of my senior research project. As a student at BASIS Scottsdale, I have the opportunity to pursue research during the third trimester of my senior year in high school. After meeting Laurie Johnson, a co-founder of ScrapZero, I chose to take part in starting her new company. The company aims to reduce food waste by simplifying the process of its management though composting. I will be working with my faculty advisor, T.J. Peacher, and my on-site mentor, Laurie Johnson, to improve our environment.

I can already see that this project will adventurous. From the first day on site, I spent a few hours with a shovel, digging dirt and carrying concrete to make room for urban gardens in Central Phoenix. Wearing my every-day clothes, I felt unprepared for this physical exertion; but, I appreciate the hands on experience with what is really going on behind the scenes.

After some hours of work, I talked with my on-site advisor to make sure that my role in the company still dealt with the integration of software into the real world–software that simplifies environmentally conscious behavior. Along with software, I will be working on advertising for the company through various other mediums.

Please read through my proposal to better understand what this project entails. As the ScrapZero is developing, so are new ideas for software. It is possible that the final software that I develop will differ from that described in my proposal. However, the current goals of the software will remain the same as that of the final product.

You can check out my SRP proposal by clicking on the link to the right.


Enjoy the updates,

Lorentz Houser