Posts

So Which Mobile Platform Should We Pick?

Image
We're used to big name companies releasing mobile apps for both Android and iOS. For smaller businesses that don't have quite the same resources available, they may be forced to target Android or iOS, rather than both. So which one should they pick? This can depend on many things. Who is the target audience? What development resources does the company have available? Do they care more about presentation or functionality? These are all things to consider, and will ultimately decide if the app is a hit or a flop. To come to a decision, first we should know what each platform is capable of - what are their strengths and weaknesses? To begin with, I'll go through the perks of the Android operating system. Strengths: - Android is backed by Google, a big name that users know and (might) trust. Personally, I wouldn't call this a strength, I say with my tinfoil hat on. - Android has the largest market. In the picture below, you can see the number of users grow over the years: ...

What's An API And Why Should You Love It?

An API, also known as an application programming interface, is a set of tools that provide various complex functions for developers that can be accessed easily. Without an API, if a developers wanted to get the current temperature, they would have to custom write a lot of code just to get that little piece of data. With an API, the host of the current temperature provides a simple "socket" for the developer to simply grab the data from. Since many developers would want to get that piece of data, it makes sense that the weather provider would already create a "socket" for developers to plug into and grab the data.     An API, written in XML code, is hosted on a remote source. An application can communicate to this remote source through a series of calls, managed by web services, which are protocols used to standardized this communication.  The XML code of the API contains chunks of code for each piece of data the developer could request. Grabbing the current temper...

What is a mobile application?

What is a mobile application? There are several definitions on the web. Wikipedia says it is a computer program designed to run on a mobile device such as a phone, tablet or watch. While it might be a regular program, a person's first reaction is that there has to be a difference between a mobile app and a desktop app. At their core, a mobile app and desktop app are both just code, running on a device. Going a level up, they can be measured in limitations and capabilities. For example, a mobile device's resources are nothing compared to a desktop. Therefore, the code must be written with limited resources in mind. Imaging trying to open an Excel file such as this on a mobile device, in an app that was not optimized for a mobile device. You'd probably wind up having to pull the battery! Both mobile apps and desktop apps are created with different coding languages. Swift is a language created by Apple for iOS, macOS, and other operating systems. Java is a language known for ...

Native, Web, and Hybrid apps

I'll be discussing the strengths and weaknesses of Native, Web, and Hybrid application development. Strengths And Weaknesses of Native The Native Development Kit (NDK) is a set of tools that allow the developer to write in C and C++, and is integrated with the Android Software Development Kit (SDK). Apps written in Java (the official programming language of Android) have to run in the Java Virtual Machine, whereas the code written in C/C++ can be compiled and run by the CPU itself. Native is best when there is a need for optimized performance, faster response time, and improved battery life. These are big perks for the NDK. This is ideal in video games and physics simulations, among other things. Because of Java's extra steps, this can lead to a slower app, which if you're wanting to run on older and cheaper hardware, can lead to a bad user experience and can tarnish your app rating. Using NDK has some tradeoffs compared to Java. Java is well known for its Garbag...

Agilicious - Part 16

Image
Over the last few months, we've learned a lot about how to work together as a team, and the friction that clashing personalities can cause. Agile principles and practices have helped us from veering too far off course. Rather than using up-front design and guidelines, we were able to adjust when needed. In the end, this resulted in a better product that stuck to the original vision, while still making changes to cater to more valuable features. Featured Picture: Our game nearly complete

Agilicious - Part 15

Image
With everything closer to finalized, it was time for our ultimate challenge - playing our game with the teacher. It's one things to play on our own, since we put in all the work to create the game. Bringing in a somewhat outsider to go through the madness is something else. Even though our product was a bit weak, our team's glowing personalities made the experience pretty enjoyable. We had a lot of laughs, since our game encouraged dark humor. Feature Picture: The logo of the game

Agilicious - Part 14

Image
Getting closer to an actual release for our game, we had to start polishing things up. Our notes for the game could no longer exists in a Google Drive folder. If we expected someone to play our game, we couldn't just give them read-only access to the folder and wish them well, right? We began working on character sheets, instruction manual, and so on. Featured Picture: Our official character sheet