VIDEO
An introduction to mobile app development
In our special online lecture, RMIT Academic Sunam Pradhan presents an overview of mobile app development: the relevance of mobile apps today and the basics of how they are made.
TEXT ON SCREEN: RMIT University presents
Online Lecture: An Introduction to Mobile App
Development
AUDIO: Sunam Pradhan Speaks
TEXT ON SCREEN : Mobile Application Development
Sunam Pradhan (on white and red background)
VISUALS: Small window for the speaker, Sunam Pradhan, on the upper right hand corner, wearing a headset, and speaking on the microphone.
SPEAKER: Hi! This is Sunam Pradhan and welcome to this webinar; Mobile Application Development. Before I start the presentation, what I'm going to do is, I'm going to give you a rebriefing, what I've been doing and what I've done and what I know about this mobile application development. And then after I'm going to discuss what is mobile applications, what do we need to do to develop mobile apps and then after that we've got an IT graduate, Louis, who is going to discuss, give you a little bit of brief about his experience studying at RMIT.
TEXT ON SCREEN: Introduction
Teaching
Software Engineering
Project Management
SPEAKER: All my undergraduate and postgraduate degrees are in Software Development. I've been teaching for last nearly sixteen years and my main area is Software Engineering and Project Management. In Software Engineering I've been teaching JAVA C ++ programming but recent in the last few years I've been teaching Mobile Application Development. And I also teach IT Project Management. Basically in IT Project Management, I do supervise undergraduate and postgraduate Capstone Projects. If you don't know what Capstone Project is, I'm going to discuss that later in the presentation as well.
TEXT ON SCREEN: Introduction (contd.)
Industry Experience
In terms of industry experience, I've worked as an analyst programmer. During my work as an analyst programmer, I've worked in e- commerce company where I have to design a website as per the client requirement. It's basically e- commerce websites where I have worked with.
TEXT ON SCREEN: Introduction (contd.)
Research
Web Services
“Secure, Reliable, Transacted”
BlueWatch Project
SPEAKER: In terms of research, I started research after I completed my master's degree. I started research in Web Services Transactions. Basically in Web Services Transactions; how do we make the data more here. There's lots of transactions on the web and I'm trying to create some middleware layers, where we make our data more reliable and more secure.
In last few years after that, I've changed my research area into Mobile Application; how we can use mobile applications in health sectors. I've worked in Blue Watch Project. Blue Watch Project is very similar to this I watch and Samsung watch. Basically we're using a sensor to monitor the patients and keeping a record and analyse the data and provide some informative feedback to different types of users. I've been working on this project for the last few years.
TEXT ON SCREEN: Research
HD3D Telemedicine Project
VISUALS: Shown on screen diagram showing right foot, left foot, a man standing on left foot and a man standing on right foot, also shown is a small image of a wounded big toe.
SPEAKER: I also worked in the HD3D Telemedicine Project. In this project, what my role was as a programmer, I've designed this website using JavaScript, CSS and jQuery. So in this project, the nurse used to take a picture of a patient using 3D camera. Especially this more helpful at remote areas. They take the pictures of the patients and then they upload the information on the website. At the other end, the doctors, they look into the pictures and they give feedback on the website and the nurse used to provide information to the patients looking at those pictures and giving information to the patients. This is very helpful in the remote areas where the patients can't get help of doctor specialists, the nurse is able to help the patients contacting with the doctors.
TEXT ON SCREEN: Do you know?
Currently 4.77 billion mobile users 64%
5 Billion People to Use Mobile Phones in 2017
Estimated number of mobile phone users worldwide (in millions)
2013 2017
Europe 672 728
North America 270 287
Latin America 415 472
Middle-East & Africa 526 671
Asia-Pacific 2,423 2,944
Worldwide 4,306m 5,102m
China 1.28 billion
SPEAKER: There are currently 4.7 billion mobile phone users in the world, which means nearly 64% of the people that have mobile phones. That is quite huge and the current population is 7.4 billion, that means 64% of the people that have mobile phones, they're using mobile phones. By 2017, there will be 5 billion people using mobile phones. If you look into this picture there, in Asia-Pacific there, in 2017 it's going to be 2.9 billion people will be using mobile phones. That's a quite huge market. Now if you look into China, they have 1.28 billion subscribers and it's increasing. Six million people are adding, they're increasing, they're subscribing every month, that means it's quite big. it's more than the total number of credit cards, anything in the world. So you can see there's huge mobile users in the world.
TEXT ON SCREEN: Do you know? (contd.)
Eric Schmidt
“Mobile is the future of software development”
“In future, everything will go mobile”
VISUALS: Picture of Eric Schmidt
SPEAKER: Do you know this guy? This is ex CEO of Google and what he said is mobile is the future of software development. So it's the future because mobile phone, I'm pretty sure that you guys are using mobile apps, mobile phones. I've already asked you why did you buy smart phones and the reason is simple; you can control most of the things. So with the smart phones, with the apps, I can control my home light, I can start my car, I can check what's in the refrigerator. I can do all things. The software development future is in mobile applications. In the future, everything will go mobile. Now we used to design application for desktop, it's not going to be for desktop, it's not going to be for any other type of devices so it's going to be for mobile devices. So the future is mobile devices.
TEXT ON SCREEN: Do you know? (contd.)
Global IT Companies
Samsung
Microsoft
Motorola
a Lenovo company
SPEAKER: Now if you see all the global companies like say Google, Samsung, Microsoft; these all companies are going wild just because of mobile apps. Lots of IT companies, they're going wild because of mobile applications so mobile applications is the future, it's a platform for everything. We can connect to people; we can do a lot of things.
TEXT ON SCREEN: What makes Mobile Apps so popular?
Mobile is Hub
Life
Wearables
Work
Domestic IoT
SPEAKER: Why mobile phones are so popular? Because it is a platform for us to connect to the world, it's a platform for us to work with people, it's a platform for our future health and here you can see. I'm pretty sure everyone has got Facebook. Why do we use Facebook? To connect to the people and we use emails, we use Dropbox. We use Dropbox for cloud service for the work. We use Web boost, I watch, smart watches; there's a lot of things here where we control through our apps. And the next thing is IoT, IoT stands for Internet of Things. These days everything is smart; we've got a smart camera, we've got a smart phone, we've got a smart TV, we've got a smart refrigerator, so these all smart things which we can connect/ control these devices using mobile applications. The future is huge. you can see everything we can do, we can control. Basically it's a platform for us to communicate with different types of people, even to do our work. If you wanted to keep your health, so we use these stores in your wear boots. Now I'm pretty sure that you guys might be playing this Pokémon Go, which is virtual reality, augmented reality. There's a big future there and this is all because of mobile apps.
VISUAL: Shown mobile phone with apps
TEXT ON SCREEN: What is a Mobile App?
Mobile Apps
Native Apps
Hybrid Apps
Mobile Web Apps
SPEAKER: Now what is a mobile app? A mobile app is just a software application which is designed to run on mobile devices such as smart phones, tablets. So these are a special type of software which are designed for those devices. If you're going to design mobile applications, there are three types of mobile applications; Native Apps, Mobile Web Apps and the Hybrid Apps. Let's discuss about these three apps. Native Apps are the mobile application software, which are designed to and for specific devices especially using the specific programming language. For example, the application that you use for on mobile phones, they are called Native Apps and if you wanted to write those apps based on what platform you're going to use it, you need to create those applications on those platforms and then you ensure on that devices.
Web Applications are basically written using JavaScript, 10:04 CSS and HTML5 and these are just responsive web pages. So you can create a website and if your website is responsive and you can use that web application on your phone, then that type of application is called Mobile Web Applications. Basically Hybrid App is something where you use those HTML5, CSS and JavaScript and you can embed in the Native Apps. That is something where between it is embedded into the native container, that is a Hybrid App.
There are three different types of apps, so if you're going to write apps you will need to decide which app you're going to create. Definitely the Native App is faster and there are advantages and disadvantages. So if you write mobile apps, then you don't need to worry about different types of platforms. So you just upload your mobile web pages on the server and if your website is responsive, if you open that web application on your smart phone then you can use that application.
TEXT ON SCREEN: NATIVE
Native App Code
iOS
Android
Windows Phone
HYBRID
Native Container
App’s Web Code
HTML 5
CSS
JavaScript
WEB
Browser
App’s Web Code
HTML 5
CSS
JavaScript
SPEAKER: Here you can see that the difference is there. The first one is the Native so this is like IOS, Android and Windows phone. These are the three top platforms that we use. Basically these Native Applications are written for specific platforms using specific languages which I'm going to discuss later. And whereas the browser one, the Web Apps, so we use HTML5, CSS, JavaScript and here is the web code and based on the web code, you run that under your smart phone. So Native App which we written for specific platform; IOS or Android or Windows phone using specific language and we also use some of the web technology like HTML5, CSS and JavaScript and we embed that into this container and we package it as program then that is Hybrid. So here it's a combination of Hybrid and the Web technology. So that's the three types of applications.
TEXT ON SCREEN: Mobile Apps (contd.)
Native
-Viber
-Snapchat
Hybrid
-Uber
-Evernote
Switched from hybrid to Native
-TripAdvisor
VISUALS: Shown on screen are the logo of the Mobile Apps mentioned on screen: WhatsApp, Viber, Snapchat, Uber, Evernote, Instagram, Facebook, LinkedIn, and TripAdvisor.
SPEAKER: Here this is an example of Native Apps, Hybrid Apps. We know what the Web App is. So it's WhatsApp, Viber, Snapchat; those are the examples of Native Apps. So Uber, Evernote and Instagram; these are examples of Hybrid Apps and recently Facebook and LinkedIn switched from Hybrid App to Native App. The reason we choose from Hybrid App to Native App is it's faster and we can use the smart phone features more easily than the web. Another thing is when you use the web browser, or Web App it requires internet connection whereas to use the applications you don't need to have internet connection. Another thing is, the only thing you need the internet connection is wanting to upload services or upload some information on the web or on the cloud. For that reason, why we need internet connection. So we can use applications without internet connections, that is the Native App.
TEXT ON SCREEN: Development Environment
iOS
Swift/Object C/Xcode
Android
Java/Eclipse/Android Studio
Windows Phone App
C#/.NET/Visual Studio
Responsive Design
HTML 5/JS/CSS
Hybrid
Cordova
SPEAKER: Let me explain Development Environment. If you wanted to develop IOS Application, then you need MacBook or iMac, Apple product and we using Xcode as the IDE, or Integrated Development Environment. We use Objective C or Swift programming. Swift has been around for last two years, just recently so it's a pretty good programming language. If you're creating applications for Android phones, then we use Java programming language and we use Android Studio or Eclipse as an IDE. So that's Integrated Development Environment so where you type your programming language.
If you're creating a Windows phone app, then we are using Visual Studio and for the Visual Studio, we will be using C# or .NET in a framework. That's the language and that's the IDE that which we'll be using. Now if you wanted to design just the web application then you can design any IDE and you just have to use HTML5, JavaScript and CSS (Cascading Style Sheets Technology) to create a responsive designed website. And if your website is responsive, what it means is the interface, the screen changes as per the screen sizes that is called responsive.
Now there is a framework for Hybrid applications, it's called Cordova and this is an open source framework to create a Hybrid Applications. So these are the Development Environment if you are going to create mobile applications. So if you're going to use Swift programming the syntax is completely different with Java and C#. If you're using, for example, if you wanted apps for the cross- platform, then you can think of creating your apps in it like the Web Apps which is HTML5, JS and CSS.
So in that way, you don't have to think about writing in different platforms so that might be something, which you might be looking at. But you need to understand that these Web Applications, they're not faster and it's pretty difficult to use the features of the smart phone like camera and uploading, downloading files. That might be some issues if you're creating a Web Application, something that you need to understand. If you're writing a Native App, it's faster and you can use the resources of a smart phone, that's something which you can do.
Now there's this industry, what they're doing is there is a cross- platform development environment, they're using that environment so that they design into one platform and they deploy into different platforms. This is a new technology that's been in the industry so that you don't have to code into three different platforms. So you code into one and then you deploy into different iOS, Android or Windows. It can be done that way as well. So that’s what industry people are using. A good example is the Xamarin platform. Xamarin, there are many phone App, there's quite a few cross- platform environment available there as well.
TEXT ON SCREEN: Android Easy Start
MIT App Inventor http://appinventor.mit.edu/explore/
SPEAKER: Now someone said, "I haven't done any programming before, where do I start from?" So for the Android part, have you heard this MIT App Inventor? This is a Google product and in this Google product you can use drag and drop, if you know the basic logic like Lobe[?], Control Structure If- else, then you can write your apps in five minutes. It's pretty cool, you can try that and this is the website for that. So this is for only Android and this is a Google product so you need to have a Gmail account. If you go to that link, if you have an account, it's all web base, you don’t have to use anything.
It’s cloud base browser, so create a project and there's many examples available there as well. It's pretty cool, this App Inventor. If you want to start, this is something, which you can try on and it doesn't cause anything; free, open source, don't need to download anything, you just need a Google account and you can create. You can see that if you go to that page, there's many very good applications written using App Inventor and when I started teaching, I used this App Inventor as the first programming language as well and students loved this App Inventor. They can see that they can use the smart phones and control things easily there.
TEXT ON SCREEN: Mobile Application Development Future
Health App
SPEAKER: Now there's a lot of things happening on the health industry. There are a lot of apps and you can see the Smart Watch, I Watch, and people are using these things to monitor their health. And normally in this area, they're in hospitals. We keep records using apps, we monitor things, processes using apps. There's lot of things, lot of apps out there, lot of things can be done in that industry and what's happening.
TEXT ON SCREEN: Mobile Application Development Future
Health App
Mobile Banking
SPEAKER:Mobile Banking; all the banking business we can use the apps to do a transaction and it's easy to keep records, you can see your balance, you can do transactions. Maybe all the banks, they have a mobile app these days.
Transportation are used nowadays, timetable apps to see when my train is coming and what's the connecting services. There are a lot of things out there which can be used on transportation.
TEXT ON SCREEN: Mobile Application Development Future
Health App
Mobile Banking
Educational Apps
SPEAKER: Educational apps. There are a lot of apps there which are in the education field, games, there's quizzes, and there are a lot of information available on different topics and content.
TEXT ON SCREEN: Mobile Application Development Future
Health App
Mobile Banking
Educational Apps
Is an App a good idea for my business?
SPEAKER: Definitely in Marketing, in Business, having an app is definitely a good thing and you can connect to the customers and you can share your ideas. There's a lot of things you can do if you've got great ideas and if you can connect to the customers and share the information. So the future is good, it's great through using mobile apps.
TEXT ON SCREEN: Job Market
HOTTEST JOBS IN 2016
# 1 App Developer
SPEAKER: Now Job Market. You might be thinking what's for me if I become a mobile developer. Definitely if you look into the websites or if you Google it, number one job in IT is App Developer. That's the hottest job in 2016 and it's going to be the hottest job in the future because everything is going to be in mobile apps. We won't be creating the desktop applications and these days I've been supervising undergraduate and postgraduate Capstone Projects, I'm going to discuss that later. When we go to the client and when we ask them their problems and what type of solutions they're wanting, they say that they need mobile apps. And we ask them, "Why do you need mobile apps?" Because it's easy to use, they can use anywhere as it's easy to record, they can communicate easily with clients and other different people. There's lots of reasons why they need mobile apps and that means we need a good programmer. I just did some search this afternoon in seek.com.au and there are lots of mobile application development jobs there. You can be a part of the future.
TEXT ON SCREEN: RMIT Courses
DIPLOMAS
Diploma of Information Technology
BACHELOR DEGREES
Bachelor of Information Technology
MASTERS BY COUSEWORK
Master of Information Technology
RMIT offers research programs at master and doctoral (PhD) level.
SPEAKER: Where do we start from? That's the job market and you wanted to get into this job market so where do we start from? And to get into work as a developer, what you need? Always in an industry, they look for some work experience. At RMIT, we do offer the different courses or programs and we have Diploma of Information Technology, Bachelor of Information Technology and a Master of Information Technology and even if you wanted to go ahead, there's a Doctorate and research program as well.
TEXT ON SCREEN: Course features
Work Integrated Learning (WIL)
Capstone Project
SPEAKER:The one good thing what I like about these courses which we've been doing is this WIL Project; Work Integrated Learning. So what we do in this WIL part, we go to the client, we understand the requirements, we understand their problems and then we integrate those problems into our courses. That's the WIL part, this Work Integrated Learning. So what you can do is, you can get a hands-on experience, industry experience by learning with our courses. That's something very good, that experience will get you into the job market.
And unto Capstone Project. Especially this Capstone Project is under undergraduate and postgraduate courses. During the final semester the students are asked to form a group and then they need to go outside and they need to get a project. They need to solve the problems. Especially with these days, all the projects are mobile apps projects, most of the projects that we're doing the Capstone Projects. In this one, basically the students what they've learned, the knowledge and the skills, they need to apply those skills on the project and it helps them to understand the context more clearly and also to get into the job market to understand the client. There are a lot of benefits working with this WIL Project.
TEXT ON SCREEN: RMIT Industry Connections
City West Taekwondo
Cimaja Homestay
Tamizh Pallikoodam Inc.
VISUALS:Logo of City West Taekwondo
Logo of Cimaja Homestay
Logo of Tamizh Pallikoodam Inc.
SPEAKER:Now some of the projects that we've done in Diploma of IT this semester and last semester, we designed an app which is a grading app for City West Taekwondo and we've got an IT graduate Louis who is going to discuss his experience working on this WIL Project. What we did was, we went to this client and then we gathered all the requirements of what they're after. So he needs a database, he needs a website, he needs a mobile app and what we did was we put all the assessments into different courses. So the students are working on project for different courses which is fantastic.
We also did some website designing and creating a simple app for Cimaja Homestay and this is in Philippines. We had a connection with the client and we did Cimaja a good job creating something very useful for them. We also created a website for one of the schools, Tamizh School and we also designed an app where the students and the parents, they can see what time their class is running, if there's any change in schedules and also some directions; simple, useful, informative apps we designed and the students did a good job in that one. These are some few of the projects we did this year and last year. That's something interesting where you are able to work with the industry partners while you're doing your course and this helps you to understand the requirements and understand how to develop some applications, a little more other information as well.
TEXT ON SCREEN: What’s next
Turn your idea into a reality
Learn to build and design Apps
SPEAKER:Now if you have good ideas, what you need to do is, you need to learn how to build an app. So there are two things; programming and designing. To build an app so you need to be a programmer. To design a great App, you need to be a designer or software engineer. These are two different things, which you need to be able to understand and to think. Now programming aspect, you need to understand Object-Oriented Programming. All the programming language for creating a Native App is OOP; Object- Oriented Program. So you need to understand Object-Oriented Programming principles and then once you are able to write apps and then if you want it to be you need to be designed as well, you need to understand Object-Oriented Design principles and apply those design principles into an app and you can design great Apps.
TEXT ON SCREEN: What’s next
Turn your idea into a reality
Learn to build and design Apps
Be part of this growing edge
SPEAKER: You can be a part of this growing technology because the future is mobile applications. If you wanted to create something innovative, do something better, there is an opportunity, so be part of the growing edge. The programming concept, is the same concept that you learn in any other programming languages. Only the difference is here we're using different APR, different framework because when you're designing a mobile application there are many constraints. The constraints are like screen size, memory, processor size, so these are the special characteristics which we need to know apart from the basic functional programming.
If you use MIT App Inventor, if you know the basic things, it takes five minutes to create a mobile Android App. If you want to create an iOS App then you have to use Xcode and Swift programming, and to create a Hello World App, it's very simple. If you want to create some meaningful app then in App Inventor it's easy, it's all drag and drop, you can use the phone features, the camera features and use that straight away and it's straightforward. But if you wanted to create Apps using Android Studio or iOS, it's a learning curve. How much do you know about Object-Oriented Programming? So basic App is simple, it takes few hours you'll be able to start that button. To create a meaningful App, it takes time.
Does mobile app development fall into the category of Computer Science? It is Information Technology. IT is a part of Computer Science.
What is a good IDE, toolkit or SDK to start with? So here it depends on what platform you're looking at. Definitely an IDE is something where you can... for example, Xcode is very good for iOS, Android Studio is the Google default platform for designing android programs and if you're creating Windows phone, then definitely there's Visual Studio and using C# is the one. Cross-platform; they been looking at few cross- platforms as well. Xamarin is the best one. So recently Microsoft bought the Xamarin and they have integrated the Xamarin on the Visual Studio as well so that's something very good, one of the best cross-platform technology.
C Language is the best programming language for beginners? Well any programming language is good but if you're good at one programming language but only later on when you apply into different context the syntax is different and there might be different frameworks and APR should be different.
Do we have to be smart in Mathematics to create a software? You don't have to be smart but you need to be bring logic part.
SPEAKER: Alright now what I'll do, I'll like to introduce Louis who is an IT graduate and he did work on this CD Link Project where he, with a group of students, created a Grading App so let me put Louis on.
AUDIO: Louis Abasta’s voice as he speaks.
LOUIS: My name is Louis Abasta, I'm from the Philippines and I have actually completed the Diploma of IT that Sunam was talking about. One of the best things that I found about the Diploma of IT is that even though you have absolutely no programming language, it gives you a really good foundation about programming in general. So like the first semester would be very basic and it would give you really good foundations into learning more programming language. We started with basic HTML programming, basic Java and then the stuff that we learned during that time, we carried on to the next semester where we had the project with City West Taekwondo. We did three projects where we had to make a database, a mobile grading App and a website as well. While we were doing the mobile App development, we used Android Studio. To begin with it was actually pretty difficult to use but as the semester progressed we got a lot better and we got used to it and it became a lot easier for us to make the App itself. I think a lot of people here were saying that they don't have much programming language, which is perfectly fine because when I started I had absolutely no programming language. I did maybe, very basic Visual Basic, which didn't really apply to what we were learning but as you progress through the diploma, you get a lot more used to the logic behind how you program things. And the good thing about doing the diploma as well is the classroom sizes are really small.
There's around thirty students, maximum per class, which makes it a lot easier if you have any questions for the lecturers and if you have any questions they're more than happy to help you out. The good thing about doing the diploma is you have two pathways into going to your Bachelor's. There is the BIS, Bachelor of Information System and if you go into that you get one-year worth of credit whereas if you go into the Bachelor of IT, which is what I'm doing, you get four credit points which is half a year. In the Bachelor's you have to go to lectures, tutorials and practical, which are split up into two hours whereas in the Diploma you have all the classes put together. You have four hours of the class instead of having to go to multiple classes, lectures, tutorials and a practical.
Towards the last semester while we were doing the projects, I think I was putting in ten hours a week just to get the projects done but it really depends on you. I think with any job that you get out of University, it's always going to be difficult because they require you to have work experience. So programming you can pick up pretty easily if you understand the logic behind it. Like we learned how to code in Java, HTML, Sequel Server and as you progress while you're learning it, you pick it up pretty quick. There are a lot of free websites online that offer programming courses such as Code Academy which I use pretty often and it helps you get the basics down before you actually start learning.
SPEAKER: Alright, thanks Louis.
LOUIS: No worries. Thank you very much. Bye.
SPEAKER:Okay guys, now you've heard from Louis about his experience doing Diploma at RMIT basically you get to have industry experience while you're learning at RMIT. So we teach Android and RS, both in an application development environment and if you know any one, it will be very easy to pick up the other one. In these courses you get to know and discuss platform development as well.
Alright. Thanks everyone for joining me regarding this seminar, webinar on Mobile Application Development. I hope that you get something out of this webinar. What is Mobile Applications and the future about Mobile Applications and what course to carry on and how to be a part of this. Thank you everyone.
TEXT ON SCREEEN:RMIT University
VISUAL: White screen to, black.
37:43 The End
The following instructions will assist you to control the video player using the keyboard.
Starting and stopping the video
- Use the Tab or Shift + Tab keyboard combination to navigate the video player controls.
- Navigate to the Play button using the Tab or Shift + Tab keyboard combination.
- Press the Spacebar or Enter key to toggle between play and pause.
Closed captions
- Navigate to the closed captions button using the Tab or Shift + Tab keyboard combination.
- Press the Spacebar or Enter key to open the closed captions menu.
- Navigate to the preferred close captions option using the Tab or Shift + Tab keyboard combination.
- Press the Spacebar or Enter key to activate the close caption option.
Volume
- Navigate to the volume slider using the Tab or Shift + Tab keyboard combination.
- Press the left or right arrow to decrease and increase the volume.
Full screen
- Navigate to the full screen button using the Tab or Shift + Tab keyboard combination.
- Press the Spacebar or Enter key to toggle between full screen video and normal size.
Copyright statement
opyright © 2015 RMIT University. All rights reserved.
Conditions of use
This item is available to RMIT University staff for official RMIT educational or promotional purposes. All uses outside of official educational or promotional purposes must be used with permission. Please contact copyright@rmit.edu.au for permission.