Inspiration

As someone who did not want to just create a tech demo, and wanted to make a project that could meaningfully help my community, I jumped at the opportunity to make this project when the idea was presented through the sponsorship.

What it does

The App currently connects to a server backend that should display data, such as categories for WIC benifits, food products and types that would fall under each categories, as well as an image for visual aid. The App should have also been able to retrieve audio data and translation data to allow non-native speakers to read or listen to the text in their native language. The backend should have also been able to fetch data from other databases and compile similar or alternative food items, based on items or barcode scans of items by the App.

How we built it

I built it using Android studio for the app front-end, as well as IntelliJ for the Java based backend. No other external dependencies or libraries were included.

Challenges we ran into

First, Android Webview does not allow CSS (styles sheets, what makes webpages not just text) to be rendered when getting data from a website. Likewise, for URL connections, you need to use Asynchronous calls and manage async data (hard) in order to allow an App to connect to a backend through the internet.

There was also lack of communication or information regarding development, as the coordinator did not have any technical expertise regarding details or requirements of the program, and was not available for questions for over 9 hours after the event had started. The PDF also did not include information where I could collect the data (websites or databases), how barcodes presented the product information (had to find spec-sheets online, and I still cannot find where all company and product numbers are stored for cross referencing), and where information is stored to find what stores and products are WIC approved or not-approved. Without any of these technical details, I was flying blind and making assumptions that may not at all be relevant to real world data or requirements.

With the requirements of completing with only 20 work hours, with no ability to find technical information without resorting to hours of online research (consuming more work time), this felt like an impossible request to build a viable-product within this time-frame with these specifications.

Accomplishments that we're proud of

As a regular, desktop developer, I have never worked with making Apps before. I was able to set up Android studio and a default project, with the emulator within 2 hours. I also was able to create a basic server framework, without dependencies, within 1 hour.

I was also able to figure out the Android URL/Webview issues through reading decade old StackOverflow articles (no other professional or official site mentioned Webview's CSS failures, nor the URL async calls) within a reasonable amount of time.

What we learned

1) Not every request is possible within a given timeframe

2) Not every framework is made for ease of use, and not all frameworks work as described.

3) All design decisions are trade-offs - Writing better code yourself takes away time from other features.

4) Make sure to get as much information as possible before accepting commissions or assignments.

5) Communication is extremely important, and assumptions can burn you badly.

What's next for WICEducator

I will, hopefully, attempt to continue the browser/web based framework into something functional. The goal should be to present the visual and audio aids in a user's native language, even if it must be through a browser/the Chrome app. The App code will remain dormant until I either am knowledgeable about Android's App SDK and how to achieve what I want.

Built With

Share this project:

Updates