What is an app v1.0


Published on

Published in: Education, Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Image source: http://www.flickr.com/photos/drachmann/327122302
  • First of all, what is an app?An app is a piece of software designed to help the user perform related specific tasks. In short, apps help users to get jobs done.To quote Professor David Wolber, “the simplest apps are like recipes” . The app gives the phone/computer a sequence of things to do. On a very basic level that could be as simple as: do A do B and then do C.Most apps are of course more interactive than this, allowing the user to interact via the user interface.Apps are similar to recipes, in that they follow a set of steps to get a job done. If we understand the steps of a recipe, we can make some great food. If we understand the steps a user has to take to get to a solution, we can make a great app!Image sources: http://www.flickr.com/photos/57113521@N00/4775460107http://www.flickr.com/photos/starsammy/4605760111
  • Explain : An example of a web app could be the Transport for London bus departures web app. http://countdown.tfl.gov.uk/#/This allows you to see what time a bus will be arriving at a bus stop. Web apps can be used through internet browsers on phone, mobile and tablets.TASK : Get students to visit this web app using a computer browser and a phone/tablet browser. What jobs does it do for the user?Explain : As you can see nothing needs to be downloaded for you to view this app. There was no app store to visit, and it works the same regardless of whether you use a phone or a computer.Web apps are great for simple tasks that you want as many people to use as possible. They are built using HTML, CSS and JavaScript which are fairly easy learn. The great thing about web apps is that you build them once, and everyone can view them as long as they have a browser!The bad thing about web apps is that they can sometimes be slow, and don’t have access to native features of the phone, for example camera features or Global Positioning System (GPS)
  • Explain : An example of a native app could be Angry Birds.Angry Birds is a game, where there are a lot of activities going on: physics calculations, animations and user interactions like touch.TASK : Ask students if they have played Angry Birds, and on which phone.Explain : To get Angry Birds on all mobile devices, they needed to build the app 3 times! Once for iphone, once for android and another time for the NEW blackberry 10s and above.The great thing about native apps is that they are very fast, and you have full access to all the phones native features that a normal web app might not have, for example the camera. Native apps use the native language the phone works with. It can be very costly creating native apps, very difficult to learn, and very hard to maintain. When you release an update, you have to update all 3 native apps for all 3 devices, that can be 3 times the work!Task: Ask your students what native apps they use most. What functionality can they really only use on their mobile phones?Image source: Angry BirdsFounder Talk: Peter Vesterbacka from Angry Birds talks about how it all started http://www.youtube.com/watch?v=NSbZtJwC2hU
  • If apps help users get jobs done, native apps have a set of tools you can use to help make tasks simpler and easier to achieve.TASK: Get you students to name some of the tools a mobile phone has in it’s tool kit (examples on next slide) Image source: http://www.flickr.com/photos/neilt/2517652
  • TASK: Ask students if there are any apps they use/can think of that use features of the phone Image source: The App Business
  • Explain: Here are 3 apps that are all hybrid apps: Tripcase, What the photo? and the BBC Olympia app.Hybrid apps take the best of both web apps and native mobile apps and combine them.The idea behind a hybrid app is that you can have the best of both worlds: flexibility across devices, but access to the native function on a phone.There are different ways to create hybrid apps. If you have a large budget and quality or performance of your app is essential, then you create dedicated apps for each platform. If your time and money are restricted, then you can use a clever workaround: You code in HTML, CSS and JavaScript in the same way as you would create a web app (like the TFL bus web app). However, you can then put your code into something called a ‘mobile framework‘. These mobile frameworks allow your normal web app to now connect to some of the phone’s native features.The great thing about this approach to hybrid apps is that you only need to learn HTML, CSS and JavaScript. The ‘mobile framework’ you use will then do the hard work for you so that the web app works as a native app. You can then publish your app on app makretplaces like Google Play and the Apple App Store like any other native app. It also means you can use some native features like the camera. Also you don’t have to re-write the all the code to get your app on different devices!The bad thing about hybrid apps are that they can still be slower than native apps. You also still have to change the code a little bit for each device you work with. Also there are a lot of ‘mobile frameworks’ out there so it can be tricky trying to figure out which one to use. Also it can take a lot of work to get the same ‘look and feel’ of a native app. So nothing is perfect.
  • This diagram show details comparing native, hybrid and web apps.As you can see in the top left, native apps have full capability, but only work on one platform!Html5 web apps work with multiple platforms, but only have partial capability (cannot connect to the camera)Hybrid apps however can do a bit of both. Work with multiple platforms and have more capability.Source: http://wiki.developerforce.com/page/Native,_HTML5,_or_Hybrid:_Understanding_Your_Mobile_Application_Development_Options
  • So what about Facebook? Well there is no such thing as a ‘Facebook app’.All apps, whether they are mobile or web based can integrate with Facebook to connect to all of Facebooks amazing social features.Think about it, how many times have you learnt about or heard about something from one of your friends! Some of the most popular things in the world have spread like viruses because of Facebook! Think of the Harlem Shuffle and Farmville. Would they have got so popular without Facebook?Our friends and the people close to us are the most influential people in our lives. Facebook allows us to tap into this influence and help your app to be spread and used by the people with the most influence.There are many ways to use Facebook, one of the most popular is using HTML5 which works with web apps and hybrid apps.
  • Which type of app you will develop depends on a variety of factors but in general you should consider:Will it be essential for my app to use native features on a phone?e.g. camera, contacts, phone calls, accelerometer etcIf your answer is a strong YES, then you probably need to look at making a native or hybrid app.What device/ platform do my users use most and when will they use my app? e.g. do my users come across the problem while sitting at a desk? Or when they sit on the sofa? Our out and about on the bus, but you don’t require really the native functions of a phone? Then a web app might be best.Image source: Financial Times
  • What is an app v1.0

    1. 1. Module 1: What is an app?
    2. 2. 2 1. What is an app? 2. What are web, native, hybrid and social apps? 3. What should I be aware of when designing an app? Key questions
    3. 3. 3 What is an app? A B C
    4. 4. 4 Web apps
    5. 5. 5 Native apps
    6. 6. 6 Know your tool kit
    7. 7. 7 Know your tool kit
    8. 8. 8 Hybrid apps
    9. 9. 9 Native – web – hybrid apps
    10. 10. 10 Facebook apps – social apps
    11. 11. 11 What’s the app for me?
    12. 12. appsforgood.org @appsforgoodcdi