Skip to main content

Posts

Week 10-11

Hello Reader, During the past 2 weeks, I implemented features which takes advantage of force touch on iPhones, as well as features added to AR APIs in iOS 11.3. The first feature is force touch (known as 3D Touch on iOS). The user can force touch on the app icon on the home screen to quickly access the features that interest them the most (Open from URL, Open Default Model and Open List). This is known as Home Screen Quick Actions on iOS. Another feature I've implemented is peek & pop (force touch to peek at the contents, and press harder to view in full detail). The user can peek at the 3D models saved on device, as well as the contents in the grid view (the server page). For the on-device-model peek, the user can swipe up and view in augmented reality directly. In addition, with the release of iOS 11.3, Apple introduced ARKit 1.5, which introduced some new features. One of them is the ability to project model on a vertical surface. This is the feature I'v
Recent posts

Week 9

Hi All! This week, I added one of the most promising features into the 3D visualizer app.  Given the link to a blob file containing the 3D model, the user can now download the models created as CSDT Anishinaabe Arcs projects from the server. Subsequently, these models can be visualized with the typical 3d viewer or with Augmented Reality. This feature took advantage of three prominent iOS APIs: Alamofire, JSONSerialization, and NSXMLParser.  First of all, the app fetches the JSON containing links to projects from the server and translates them into a convenient Dictionary data structure with the JSONSerialization API. Given the JSON, the app now has access to a specific XML file containing the link to the 3D model. The app now takes advantage of NSXMLParser to read in the XML and locate the link to the 3D model. Afterward, the app downloads the model and visualizes it.  I really enjoy implementing these features because I am always learning more iOS APIs each time I work on this ap

Week 8

Greetings, During this past week, I've made much progress on both the iOS and Android ports of 3D Visualizer. For iOS, I added a feature which allows the user to import the 3D model from a third party source (e.g. email attachment or iCloud Drive Documents) into the app and visualize it. The user will have options to save/delete the model on device.  I consider this as a very important addition to the features this app provides, as the user can design their wigwaams on the CSDT website, export the STL file, and then visualize it with the app. As for Android, I've started making the UI for this app. Here's a snapshot:                                                      Thanks for viewing!

Week 6-7

Hi, I spent the Spring Break learning Android programming, and am continuing to learn more. Once I've learned what I needed, I'll start making an Android version of the 3D visualizer. During the break, I've also fixed a few more bugs and added more features to the iOS version: Fixed a bug where a lack of internet connection would crash the app Fixed a bug where the section headers for Scene Settings would disappear on iPad Added a feature to allow the 2D grid view on iPad to adjust the size upon screen width change, in order to facilitate split view experience Added an internet activity indicator in the status bar to alert the user that the app is fetching data from the internet.

Week 5

Hi All! This week I spent more time being a graphic designer rather than being a programmer, as I watched a couple of WWDC videos on app icon design, and crafted an icon for this 3D visualizer app. I thoroughly laid out the design on the official Apple icon grid. Eventually, a design I really liked came out: In addition, I crafted a new feature and fixed a few bugs: New feature: Added a switch in settings so that the user can use the slider for two purposes:  Adjust the intensity of the light illuminating the model Adjust the color temperature of the light illuminating the model Bug Fixes: Fixed a bug where the images in the 2D model image grid would randomly change when scrolling Fixed a bug where the checkmarks in the settings page would randomly appear and disappear Thanks for viewing and have a wonderful week!

Week 4

Greetings again! During this past week, the focus has been on bug fixes and feature improvements. There is one new feature, however. Details are coming your way: Bug Fixes; Fixed a bug where tapping the back button on the 2D details page would crash the app. Improvements: Added an activity spinner in 2D details page to inform the user of loading the image. Added a non-floating custom header view in the settings page. Reduced the number of segments in the color segmented control from 4 to 3 in order to reduce the clutter of UI elements. Improved the JSON fetch process to only show projects in the 2D grid page. New Feature: Added a horizontally-scrollable color picker interface in the main 3D viewer to allow a greater range of color selection. Color Picker Thanks for viewing and see you next week!

Week 3

Greetings! During this week, numerous features were added to the model viewer, with focus on AR model manipulation and 2D model fetching. Details are listed below: AR Model Manipulation Zoom the model with a pinch gesture Rotate the model with a rotation gesture The user can select the axis to rotate the model on: X, Y or Z axis Fetch 2D Models, Browse 2D Models & Project 2D Models to AR Surface The applications fetches JSON from a CSDT API, parses them, and uses the data to populate a grid-like UI : 2D Model Browser After tapping on grid cell, the app enables the user to view the image in detail along with a description. The user can also view the image in AR or open the project link on the CSDT website: Details Finally, lets witness an AR Demo!