Saturday 9 November 2013

Finished Dissertation

I  have decided to upload the finished product to allow possible employers and those interested in the subject to see what I found.  In essence I much prefer native development, but the use of 3D graphics adds about the same additional complexity for both platforms.

Drop Box Link: https://www.dropbox.com/s/6j42nhxskz3z0s8/Dissertation.docx

Monday 3 December 2012

Comparing Types of Development

hello again,

I have noticed a spike in views on this blog so feel I should post a bit more on here, so here it goes.

during my research I realised that you cannot evaluate or review a type of development based entirely on performance data.  when developing an application many aspects of the development process have to be considered.  some examples are:
  • The language the application is to be written in?
  • What development environment is to be used?
  • What specialist APIs or SDKs are needed?
  • What specialist hardware is required (for development and testing)?
  • How the application is to be marketed?
  • Is the application for one platform or many?
The above list is but. a few of the many factors to be considered, each of course has its own list of considerations.  lets have a look at choosing a development environment:

  • Does the chosen environment support the chosen language?
  • What other languages does it support and are any of them potentially required?
  • Does it support the required APIs ans SDKs?
  • Is it user friendly?
  • Is it popular or are the programmers going to have to learn a new environment?
  • How much does it cost?
  • Is it an environment that is likely to be used again?
Again this is not an exhaustive list of considerations, but it does highlight the complexity that a factor can have.  In this project the choice of development environment for the native application is eclipse, but is it appropriate for the web based development as well? After looking into it the answer is hes, however additional SDKs are required.  

In conclusion for this post, my advice to anyone thinking about developing an application, mobile or not, to research exactly what you'll need and to make sure it is the best for your particular project

Tuesday 20 November 2012

Building My Project

Hello all,

I have started making the frame work for my application for the native side of my project.  I have decided on 3 types of scenes.
  1. A very basic scene with un-textured shapes
  2. Same Scene but with textures
  3. finally a more complicated scene with a camera, skybox and multiple objects
So far I have created the basic framework for my first 2 types of scenes.  You can pick between displaying 1, 2 or 3 objects and control them with the touch screen.  At the moment only cubes are available but pyramids will be implemented over the next day or so.  I am just about to start my more complicated scene but I figured that I might as well post up what I have done so far with some screen shots.

I will be posting a more lengthy blog on the code and how it works soon as well.

Basic Scene:
 Textured Scene:


stay posted for the breakdown of the code.

Friday 26 October 2012

Proposal

I have come up with a title, aim and objectives!


Title:
A Comparison of Web Based and Native Based Development for 3D Rendering Applications for Mobile Devices Using OpenGL
Aim:
To Develop an application for both web and native based platforms to determine which is more appropriate.

Objectives:
  • -          To review web based development and native based development
  • -          To research mobile 3d rendering techniques
  • -          Develop a 3D rendering app using both textured and un-textured objects
  • -          To determine which platform (web/native) gives the best performance
  • -          Obtain performance data using FPS, CPU usage and Memory
  • -          Evaluate results
  • -          Make Recommendations based on results 
I  have also decided to go with OpenGL as the graphics API and the Android as the device platform. OpenGL as it is a cross-language and multi-platform API and Android as its a growing market leader in smart phones...it is also free to develop on unlike the Iphone.  I have developed for both Iphone and Android in the past but my experience in Android is vastly superior to that of the Iphone.

Monday 15 October 2012

Refining My Idea

In my first post I said I wanted to do something with mobile programming and in my second I refined the idea slightly.  Today I have narrowed it down further!

My current plan is to compare web based programming and native programming on mobile devices for 3D rendering applications using OpenGL.  This is very similar to what I described yesterday but as many of you will know for an honours project you need to be quite specific.  After discussing with my lecturer he said to "refine" my concept. It may or may not be refined further after a seminar on Thursday, stay tuned for further updates. 

Saturday 13 October 2012

A Step Forward

Hello again,

I am writing this from the library after reading a few articles today. These articles have lead me to a subject I am thinking may be a solution! The solution to the question I have been asking myself for several months with no answer in sight..."what am I going to do my Honours Project on?"

The article that can now be described as a prophet is "Mobile Application Development: web vs native" by Andre Charland and Brian Leroux.  I am not going to give a run down of the whole article as the title is pretty obvious, but I do suggest anyone who is interested in mobile development should take a look.  Especially if you are involved in multi-platform development.  I have linked the article in a post below.

I am now thinking that my project will involve designing a series of bench mark tests and testing set programs on various devices.

Potential Types of Programs:

  • simple text editor
  • a simple render of a rotating 3D cube with simple lighting and no shading
  • a simple render of a rotating 3D cube with shading
  • a series of set calculations
All the programs will be tested on

  • start up time
  • CPU and RAM usage
The set of calculations will be tested on the above as well as time taken to complete the calculations.

I am now going to wait and see if my lecturers think that this is a decent enough idea. If it is approved work shall begin!

EBSCOhost: Mobile Application Development: Web vs. Native.

EBSCOhost: Mobile Application Development: Web vs. Native.