Progressive Web Applications


‘Progressive App design offers us a way to build better experiences across devices and contexts within a single codebase’ (Russel 2015). Progressive Web Applications involves using web development technology to create applications that can run smoothly on multiple platforms and devices without having to make a specific application for each individual platform.

Progressive Web Apps are experiences that combine the best of the web and the best of apps. They are useful to users from the very first visit in a browser tab, no install required. As the user progressively builds a relationship with the app over time, it becomes more and more powerful. It loads quickly, even on flaky networks, sends relevant push notifications, has an icon on the home screen, and loads as a top-level, full screen experience.’ (Your First Progressive Web App. n.d.) They way we use mobile devices compared to desktop devices is quite different, apps are at the center of mobile activity as opposed to on desktop where a large component of our activities take place online.

An example used by Alex Russell, a google chrome engineer, at the 2016 Progressive Web App Summit, was google maps. After a show of hands he observed , not to his surprise, that most people navigated to google maps through the web on their desktop computers, but when asked the same question about mobile, most people put their hands down. If you were to get to google maps on your phone you would more than likely do it via their app. “We don’t really use the web on mobile the way we do on desktop, but remember we started with native apps on desktop too.” (Russell 2016).

People gravitate towards native apps because of their speed, reliability and immersive experience. However in the last few years web technology has developed so that we can achieve a similar speed, reliability and experience as native technology. PWA’s encompass mobile(or desktop) websites that can act and react like native apps, providing offline service, fast interactions and immersive full screen experiences.

“Progressive Web Apps are user experiences that have the reach of the web, and are:

  • Reliable – Load instantly and never show the downasaur, even in uncertain network conditions.
  • Fast – Respond quickly to user interactions with silky smooth animations and no janky scrolling.
  • Engaging – Feel like a natural app on the device, with an immersive user experience.

This new level of quality allows Progressive Web Apps to earn a place on the user’s home screen.” (Progressive Web Apps, n.d.)

Unlike native applications, which require downloading via that app store, Progressive Web Applications “While a PWA can be treated like a standard application on a device, the ability for it to be run from a uniform resource locator (URL) makes it easy to use the application on any device with a browser.”

App Shell Model

“An application shell is the minimal HTML, CSS, and JavaScript powering a user interface. The application shell should:

  • load fast
  • be cached
  • dynamically display content

An application shell is the secret to reliably good performance. Think of your app’s shell like the bundle of code you’d publish to an app store if you were building a native app. It’s the load needed to get off the ground, but might not be the whole story. It keeps your UI local and pulls in content dynamically through an API.”(Gaunt, M. Osmai, A.  2019)

The App Shell Model is different for every Progressive Web Application. Google developer provides a codelab on Progressive Web Apps (Progressive Web Apps, n.d.), this lab provides a guideline set of questions one should ask themselves when designing their app shell model.

  1. What needs to be on the screen immediately ?

On screen immediately, we need the login screen, after this, we will need to go to the “What is Puberty ?” page after which the character will be selected and the diary page can be shown. If they are logging back in it will them straight to the diary page

  1. What other UI elements are key to our app ?

The forward and back arrows to navigate through the pages.A loading gif for content that is downloading or has not yet been downloaded.

  1. What supporting resources are needed for the app shell ?

The background images, button images and a loading gif.

Service Workers

Service workers are Progressive Web Applications solution to offline functionality, they cache previous loads of the application shell and use this when the network isn’t available. Normally if connection fails on a web page, you don’t see any content or you get the offline dino game on screen. Progressive web apps show you shell of the web application even if the content on the page will not be loaded until the connection is established again. This provides users with an experience that more closely emulates that of a native application.  “A service worker is a script that runs in the background, separate from your web page. It responds to events, including network requests made from pages it serves and push notices from your server. A service worker has an intentionally short lifetime. It wakes up when it gets an event and runs only as long as it needs to process it.” (Gaunt, M. Osmai, A. 2019) Essentially, once a user loads the application once the application shell is cached. Once the user reopens the same application, the service worker grabs the application shell from the cache which is stored locally on the device. This not only allows for the application shell to be accessed when the device is offline, it allows for faster loading times than if the application shell was to be downloaded from the network on every single load.

“With offline first we assume of line, and do as much as we can with local content, the try and get content from the network, and the more we get to render without a connection, the better. So you should think of the network as a piece of progressive enhancement, an enhancement that may not be there” (Archibald, J. 2016) Service workers are made using Javascript, and the act as a buffer between the page and the network. Usually page request go straight to the network and the network send things back to the page directly. A service worker is placed between the network and the page so requests from the page must first go through the service worker before they reach the network.

The Application Shell will always be cached locally, because no matter how fast your connection, it will be much faster to retrieve the application shell from the devices cache. This is done using an install event which is triggered when the browser reads the service worker initially. This will not happen by default, and so you must add it to the fetch event, this will then check that if the url is the homepage and if the statement rings true, the application shell will be added to the cache. We then set up the network as a fallback for this request, so that if the data required isn’t available in the cache the page then requests it from the network. “The network only matters to fetch new data, and that’s the offline first goal” (Archibald, J. 2016)

Bibliography

Archbald, Jake 2016 Instant Loading Offline First (Progressive Web App Summit), Google Chrome Developers, viewed on 22/03/2019

Bob Frankston, March 2018, Progressive Web Applications, IEEE Consumer Electronics Magazine, accessed on 21/03/2019 via https://ieeexplore-ieee-org.cit.idm.oclc.org/stamp/stamp.jsp?tp=&arnumber=8287006

Gaunt, M. Osmai, A.  February 2019, Instant Loading Web Apps with an Application Shell Architecture, Google Developer, accessed on 22/03/2019 via https://developers.google.com/web/updates/2015/11/app-shell

Progressive Web Apps, n.d. Google Developer, accessed on 21/03/2019 : https://developers.google.com/web/progressive-web-apps/

Russel, Alex June 15th 2015, “Progressive Web Apps, Escaping Tabs Without Losing Our Souls”, ‘Infrequently Noted’, blog post. Viewed on 21/03/2019 at URL : https://infrequently.org/2015/06/progressive-apps-escaping-tabs-without-losing-our-soul/

Russell, Alex 2016, Opening Keynote (Progressive Web App Summit 2016), Google Chrome Developers, viewed on 21/03/2019 https://www.youtube.com/watch?v=9Jef9IluQw0&index=3&list=PLNYkxOF6rcIAWWNR_Q6eLPhsyx6VvYjVb
Your First Progressive Web App, n.d., Google Developer – Code Lab accessed on 21/03/2019 via https://codelabs.developers.google.com/codelabs/your-first-pwapp/#0

Web Apps

As the PhoneGap Developers App isn’t availible on iOS decided and was incompatible with the tablet I had due to it having the wrong version of android OS I decided to buy a new tablet that had the correct version of android. PhoneGap requires version 5.0 and above so I purchased a tablet that uses version 9.0 and the app was still incompatible with my device. I then decided to downlod the adk of PhoneGapDeveloper, which I was able to install and run but it did’t connect to the applications I was attempting to test on my deskop. This was frustrating, but I figured out after some research on message boards about the application that there is a long list of requirements for devices to be compatible with PhoneGap Developer.

API Levels Supported

  • 15+

Hardware Requirements

  • android.hardware.BLUETOOTH
  • android.hardware.CAMERA
  • android.hardware.LOCATION
  • android.hardware.location.GPS
  • android.hardware.location.NETWORK
  • android.hardware.MICROPHONE
  • android.hardware.screen.LANDSCAPE
  • android.hardware.sensor.ACCELEROMETER
  • android.hardware.sensor.COMPASS
  • android.hardware.TOUCHSCREEN
  • android.hardware.WIFI

Permissions Required

  • android.permission.ACCESS_COARSE_LOCATION
  • android.permission.ACCESS_FINE_LOCATION
  • android.permission.ACCESS_GPS
  • android.permission.ACCESS_LOCATION_EXTRA_COMMANDS
  • android.permission.ACCESS_NETWORK_STATE
  • android.permission.ACCESS_WIFI_STATE
  • android.permission.BLUETOOTH
  • android.permission.BLUETOOTH_ADMIN
  • android.permission.CAMERA
  • android.permission.GET_ACCOUNTS
  • android.permission.INTERNET
  • android.permission.MODIFY_AUDIO_SETTINGS
  • android.permission.READ_CONTACTS
  • android.permission.READ_EXTERNAL_STORAGE
  • android.permission.READ_PHONE_STATE
  • android.permission.RECORD_AUDIO
  • android.permission.RECORD_VIDEO
  • android.permission.VIBRATE
  • android.permission.WAKE_LOCK
  • android.permission.WRITE_CONTACTS
  • android.permission.WRITE_EXTERNAL_STORAGE
  • com.google.android.c2dm.permission.RECEIVE  (Pindoria, Suraj 2016)

I brought this issue to my coding lecturer and he suggested I develop the applications as a web application, which is what I would be doing with PhoneGap anyways. I could then test the application on the device using our college webserver (webdevcit.com). I can get javascript plugins that allow me to make the application full screen and allow me interactivity such as swiping (jquery gestures). I can still then transfer the app files into phonegap and export the application from there at the end of the project, I would just be cutting out the middleman during the development phase.

Making Web Applications Fullscreen

There are several easy ways to make a website fullscreen, you can request the browser to go full screen in response to a user gesture, you app download the website to the homepage, or you can auto hide the address bar. ( Making Fullscreen Experiences, 2019)

How I did this

  1. First I created a HTML and CSS file for the homepage
  2. I added this meta tag to the header of the HTML <link rel=”manifest” href=”/manifest.json”>
  3. I then created a JSON file containing this code
  4. I transferred all the files to the server and opened the web page in the browser. I then from the page settings added the website to the homepage
  5. I opened the application from my homescreen
  6. The Website is now Fullscreen

Drag and Drop Touch Events

On a mobile device there is not mouse, touch events must be used instead. There are plugins available for more complex gestures, but this is how I created a simple drag and drop touch event.

  1. Create HTML Element you want to move and give it an id
  2. Create an onload function, store the HTML element in a variable
  3. Add a touchmove event listener to this variable that triggers another function
  4. Prevent the default movements when the event is triggered
  5. Create a variable that stores the new touch location and use this to change the style of the HTML element.

Current Academic Paper

References

Pindoria, Suraj (2016, July 27) Current Software, Hardware, and Permissions Required.[online from comment] message posted to https://github.com/phonegap/phonegap-app-developer/issues/408#issuecomment-235703076

Making Full Screen Experiences, 2019 , Google Developer, viewed 11 March 2019, via https://developers.google.com/web/fundamentals/native-hardware/fullscreen/

Appeal of animation

To start I will be talking about the appeal of animation. Animation is used all over the world for numerous forms of media. Such as animated films, music videos, advertisements and educational videos. Animation attracts a lot of attention as it is engaging.

So why is animation appealing?

Appeal is one of 12 principles of animation. As audiences like to see charm, a well thought out design, simplicity and quality. A weak drawn design or drawing can lack appeal for the viewer. Also a design that is complicated can also lack appeal. So having a balance is key. Using awkward shapes and unrealistic moves can have low appeal. (Lasseter, 1987)

Appeal is anything a person likes to see, a quality of charm, pleasing design, simplicity, communication and magnetism. “Your eye is drawn to the figure that has appeal, and, once there, it is held while you appreciate what you are seeing. A striking, heroic figure can have appeal. A villainess, even through chilling and dramatic, should have appeal” (Thomas and Johnston, 1981 p68)

Having well thought out drawing adds to appeal “Only simple and direct attitudes make good drawings and without good drawing we have little appeal” (Thomas and Johnston, 1981 p69) Also  having a simple design can benefit the characters appeal “Believe it or not, simplicity is the key to designing good characters. Many times, the most amazing characters turns out to be the simplest to construct.” (Maestri, 1996, p.10)

There is a difference between appealing animation and unappealing animation is that they are not limited to subject matter, what matters is how you present your concepts, ideas and emotional highs/lows to the viewer. The important thing about appeal in animation is that the viewer feels the character is real and interesting. To help make a better connection between the character and viewer, the character must be likable and have baby like face, such as bigger eyes tends to be effective especially for children. Appeal includes having an easy to read design, solid drawing and having personality. There is no exact formula for getting this right but it starts with a strong character development and being able to tell the story through the animation. (Hurd, 2017)

Animation appeal also lies in the personalities it creates. It allows characters to develop a personality. Their actions, attitudes and appearances must mesh to create a well rounded character who will capture and keep the attention of the viewer. (PowerHouse Animation Studio, 2019)

Some examples of character with appeal:

-Exaggerated features for example bigger eyes

-Bright colours

-Simple design not overly complicated

Another factor that makes animation appealing to children is when the child can be part of the story. For example with shows such as Mickey Mouse Clubhouse. where the characters like Mickey Mouse talk to the child breaking the fourth wall and asking them questions to help with the progression of the story. (Kaur, 2014)

11

Animation has a universal appeal because it can be created to suit virtually anyone’s preferences. For example bright colours and simple designs can be used to create characters for children and more detailed designs can be aimed more towards adults. This versatility allows animation to adapt itself to the preferences and needs of their target audiences, regardless of their age allowing it to appeal to almost everyone. (PowerHouse Animation Studio, 2019)

References:

Hurd, E. (2017). Appeal: The 12 Basic Principles of Animation | Animation Mentor Blog. [online] Animation Mentor Blog. Available at: https://blog.animationmentor.com/appeal-the-12-basic-principles-of-animation/ [Accessed 6 Feb. 2019].

Kaur, R. (2014). Why kids love cartoons so much?. [Blog] MyIndia. Available at: https://www.mapsofindia.com/my-india/society/why-kids-love-cartoon-so-much [Accessed 3 Feb. 2019].

Lasseter, J. (1987). Principles of traditional animation applied to 3D computer animation ACM SIGGRAPH Computer Graphics, 21(4), pp.35-44. [Accessed 6 February 2019].

<http://delivery.acm.org/10.1145/40000/37407/p35-lasseter.pdf?ip=157.190.0.142&id=37407&acc=ACTIVE%20SERVICE&key=DC7B1EB778A804A9%2E4D4702B0C3E38B35%2E4D4702B0C3E38B35%2E4D4702B0C3E38B35&__acm__=1557478828_7ed7d146f143f21209c977c253748f5b>

Maestri, G. (1996). [Digital] character animation. Indianapolis: New Riders, p.10

PowerHouse Animation Studio, I. (2019). What Makes Animation Appealing?. [online] Slideshare.net. Available at: https://www.slideshare.net/powerhouseanima/what-makes-animation-appealing [Accessed 3 Feb. 2019].

Thomas, F. and Johnston, O. (1981). The Illusion of Life Disney Animation. New York: Walt Disney Productions, pp.68 69.

 

Interaction in Our Application : Competitor Analysis


To get a sense of what types of interaction will be used in our application, competitor analysis of interactions in other storybook applications was completed. By analysing the interaction in other applications it will not only give me inspiration for the interaction in our application, it will also give me an idea of how this interaction could be facilitated. This post will detail the findings of my analysis of the interactivity of applications including : The Wizard of Oz, Cinderella and Dear Diary.

The Wizard of Oz

This application by Tabtale opens on a home screen that allows you choose whether you read the story or play a paint style game. The home screen gives an option for parents, which gives them information about the application, this is a helpful feature. The story itself comprises of screen and and illustration with a looped animation on the screen. The voiceover of the story is automatically read out the text can not be seen on screen, this would be a disadvantage. The storybook has interactions within the illustration, such as for example you can turn on and off a lightbulb.

Dear Diary

This application allows users to read the diary of a teenage girl, each entry describes different days of her life, as you read you are given option to choose from that will influence the story going forward. There is no voiceover in this application, all the text is onscreen. The buttons you press have sound effects on click.

Cinderella

Another application by tabtale, this one is not dissimilar to the wizard of oz storybook, however this application allows you to have the story read to you, in other words the voiceover plays, or to read the story but yourself. It allows incorporates the game into the story allowing users to play the games as they read. Some parts of the illustration are animated and they make sound effects and play a further animation upon interaction with them. If the user chooses to have the story read to them the interaction is available straight away, if not then the user must read the story before they can access the interactivity.

.

Elements that would transfer to our application include the sound effects on buttons, having some onscreen elements animate automatically, having games incorporated in the story and allowing the user to either read themselves or have it read to them.

Background to ‘Let’s Talk’

This post aims to illustrate the main inspiration for this project, which is the changing attitudes towards sex in Ireland. Beginning with a history of sexual repression in Ireland, the contrast between the old fashioned Catholic belief system and Ireland’s current, more progressive, stance on sex and sexuality is discussed. This is then followed by analysis of the current education system, including the 2019 report on the current relationships and sexuality program by the House of Oireactas. Finally, the importance of proper sexual education to overall sexual health and the role of both parents and educators in this is discussed

As a nation, Ireland spent the majority of the 20th century still heavily influenced by the Catholic Church. By comparison to other countries in the developed western world, attitudes towards sex in Ireland were considerably more conservative up until the 1970’s.‘Sexual repression seemed to intensify in Irish Catholic culture as the nineteenth century progressed’  (Fahey T. 1999 p.253) Perhaps because of the influence of the catholic church, people in Ireland had negative connotations towards behaviours, such as premarital sex and contraception, that were becoming commonplace in other western countries. Change came in Ireland as a result of external pressure to conform with the more progressive attitudes of other european countries, as opposed to internal societal pressure. The majority of western countries had embraced the sexual freedom movement by the time Irish people began to challenge the sexually repressed culture of their time. ‘Most Western industrial countries have experienced, in the decades after 1960, tremendous change in attitudes and behaviours in areas such as women’s role in society and sexual freedom. In Ireland, however, these changes occurred in the context of the wider pressures of industrialisation and urbanisation that took place long after they happened in other countries in Europe’ ( Crisis Pregnancy Agency, 2006, p. 8)

The influence of the Catholic Church in Ireland affected all aspects of society in Ireland at this time, from education to media. The education system at the time was predominately run by religious orders, and sex education often took the form of abstinence only sex education. Before the reformation of the Relationships and Sexuality Education (R.S.E)  in the mid 1990’s, abstinence only sex education was the main type of sex education in Ireland. The media in Ireland was also heavily influenced by the repressive attitudes towards sex in the country. There was stigma around topics such as premarital sex, contraception, sexuality and abortion. Contraception itself was illegal in Ireland until 1980 but it’s use was still frowned upon at that point. When Gay Byrne produced a condom on television during a conversation about the aids epidemic in 1987 it caused outrage.(“Late Late Extra”, 1987) There was a refusal amongst the older generation to embrace the use of contraception and it was still considered shameful to even see a condom. ‘It should also be remembered that, until comparatively recently, sexual discussion, public policy on sex and sexual behaviour itself all occurred within a cultural framework that was significantly influenced by Catholic social and moral teaching.22 The Catholic ethical framework was the dominant framework in Ireland until the 1960s; concerns about sexual probity were part of daily life and were enforced, to various degrees, throughout Irish society’ ( Crisis Pregnancy Agency, 2006, p. 9) Ireland was behind the times in comparison to other western countries who, by this point, had a much more liberal perception of sex and sexuality.

The last three decades have seen an complete transformation in public attitudes towards sex and sexuality in Ireland. The conservative mindsets of previous generations have now been replaced by the progressive and tolerant mindsets of younger generations. Ireland is now a population that  predominantly have an awareness of the concept of sexual health and a willingness to talk about issues surrounding sexual health. Compared to previous generations we are generally more accepting of all sexualities, sexual health practices and premarital sex. ‘The first large-scale study of sexual health and relationships in the State, published yesterday, found just six per cent of people now think premarital sex is always wrong, compared to 71 percent of people back in 1973’ (Donnellan, E. 2006) Ireland has come a long way from the repressed culture of the 1970’s, and done so in a relatively short space of time. This however, isn’t without its challenges. With the advent of the internet and the globalisation of media we have more information about sex than ever before.“Recently we’ve shifted from absolutely no conversation to now having the internet with absolutely everything about sex instantly accessible on people’s smartphones.”(‘Why sex should no longer be a dirty word’, 2018) Given that only forty years ago the use of contraception in this country was illegal, we are not properly equipped to deal with this level of information within the education system.

A review of the current curriculum for RSE was requested on April 3rd, 2018. The current curriculum is outdated, being over twenty years old, and isn’t properly representative topics such as consent, sexually transmitted infections (STI’s) and LGBTQ+ sex. The review of the current curriculum was published on the 29th of January 2019, and it called for a complete overhaul of the current curriculum. “The Committee noted that the curriculum for SPHE was published in 1999 and believes that this needs to be updated. Additionally the curriculum needs to be delivered to students from an earlier age”(Houses of the Oireachtas, 2019, p.26) Not only was it stated that the curriculum needed to be delivered to children at a younger age, it was also stated that LGBTQ+ sexual health issues should be included in the new curriculum. “Consideration should be given to the inclusion within curriculums of LGBTQI+ specific sexual health issues and the presentation of LGBT relationships without distinction as to their heterosexual counterparts” (Houses of the Oireachtas, 2019, p.27). As a large proportion of schools in Ireland align their ethos to a certain religion, it was observed that it is essential that this does not affect the sexual education of their students. “A new report from a group of TDs has found that religious schools should lose the power to influence sex education in line with their own ethos.” (Digital Desk Staff, 2019). As it is currently part of the law that schools can teach RSE from a standpoint that is in line with their own ethos, it was suggested that this education be given by groups external to the schools themselves.“The Education Committee recommends that outside groups that are brought in to schools to deliver Relationships and Sexuality Education, which will be regulated by the Department of Education or the Health Service Executive to ensure that accurate information is being given to students.” (O’Kelly, E. 2019). It was also suggested that the law that allows schools to create their own policies around RSE which reflects their ethos be amended promptly. “The Committee recommends that the Education Act 1998 be amended or at least reviewed, so that ethos can no longer be used as a barrier to the effective, objective and factual teaching of the RSE and SPHE curriculum to which every student is entitled.”(Houses of the Oireachtas, 2019, p.28). Along with other recommendations, it was advised that the new curriculum address issues concerning pornography. “The Committee recommends that the negative impact of pornography forms an integral and fundamental part of all discussions on and reforms of SPHE and RSE reinforcing positively framed sexual experiences.”(Houses of the Oireachtas, 2019, p.28). This review of the curriculum shows an awareness from the government that the current education system does not properly educate the youth for modern life. Although this review is a step in the right direction and was delivered within a year, the development of a new curriculum will be a lengthy task and it we can’t be sure when that new curriculum will be introduced.

Although it is easy to solely fault schools for the current state of sex education in Ireland , parents are not without blame. Article 42 of the constitution of Ireland names the family as the primary educators of a child, and it has been revealed that parents taking a proactive approach to sex education is beneficial for their children. ‘A simplistic solution would be to argue that school should be the primary educator of young people about sex. However, extensive research shows that parental involvement in sex education can have an extremely positive impact on the subsequent behaviour of young people, encouraging later sexual initiation, higher prevalence of protective behaviours and greater confidence in negotiating sexual relationships.’( Crisis Pregnancy Agency, 2006, p. 284). Understandably it is difficult for parents to educate their kids properly about sex when they themselves received an inadequate sex education. Nonetheless parents should make it a priority to properly educate themselves and create open conversation around sex in the home. “Parental involvement in sex education can serve to reinforce, and often supplement, key messages received about sex in school and can impact on their child’s sexual health in the future. Recent national research found that fewer parents surveyed in 2010 have talked to their children about sex and related topics (70%) than those surveyed in 2003 (82%)” (Kelleher C, Smith G, Bourke A, Boduszek D, McBride O, Morgan K.,2013) According to research parents are becoming less willing to talk to their kids at home about topics like sex. Being failed by both the education system and their parents, the youth of today are turning to the internet for information about sex.“In the absence of proper sex education and unable to talk to their caregivers, children will seek out information online.”(‘Why sex should no longer be a dirty word’, 2018). We cannot blame the youth for searching for information about sex, when sexual scenes becoming more common in movies, tv shows and video games. There is more pressure on youths today to be knowledgeable about sex, and people are becoming sexually active at younger ages than before.

The reform of sex education is important as proper sex education contributes towards good sexual health as individuals progress through life. The World Health Organization defines sexual health as “a positive and respectful approach to sexuality and sexual relationships, as well as the possibility of having pleasurable and safe sexual experiences, free of coercion, discrimination and violence.” (World Health Organisation 2006, p.5 ) This definition includes both the physical and mental aspects of sexual health, asserting the importance of consent, respect and safety in sexual health. Sexual education is important because it can set an individual up with a positive attitude towards sexuality from a young age, eradicating the fear and confusion that is often associated with early sexual development and encounters.  ‘Sexual development is often typified as something problematic to be contained and controlled, especially for girls. This characterization often has more to do with the anxieties, fears, and beliefs of adults than the reality experienced by adolescents’ (World Health Organisation 2006, p.7 ) We must strive to create an educational experience that is inclusive, free from stigma and equips youths with the tools necessary for adulthood before they are in a situation they are not prepared for. ‘Sexuality education must seek to promote health and well-being, as well as sexual rights.’(World Health Organisation 2006, p.18 ) The ideal sexual education system would place importance on all aspects of sexuality.

References

Crisis Pregnancy Agency (2006). Irish Study of Sexual Health and Relationships (ISSHR), October, UCD viewed on 01/02/2019 via <https://www.ucd.ie/issda/static/documentation/esri/isshr-report.pdf>

Donnellan, E. (2006) ‘Irish attitude to sex undergoes dramatic shift over 30 years’ Irish Times, 17 October, viewed 01/02/2019 via <https://www.irishtimes.com/news/irish-attitude-to-sex-undergoes-dramatic-shift-over-30-years-1.1016414 >

Digital Desk Staff (2019) ‘Report to call for reform of Ireland’s 20 year old sex education programme’ Breaking News.ie, 29 January, viewed 01/02/2019 via <https://www.breakingnews.ie/ireland/report-to-call-for-reform-of-irelands-20-year-old-sex-education-programme-900823.html>

Fahey T.(1999) ‘Religion and Sexual Culture in Ireland’ The British Academy , viewed 01/02/2019 via <https://www.thebritishacademy.ac.uk/pubs/proc/files/79p241.pdf>

Houses of the Oireachtas (2019) ‘Joint Committee on Education and Skills Report on Relationships and Sexuality Education’ Committee on Education and skills, 29 January, viewed 01/02/2019 via <https://data.oireachtas.ie/ie/oireachtas/committee/dail/32/joint_committee_on_education_and_skills/reports/2019/2019-01-29_report-on-relationships-and-sexuality-education_en.pdf>

Kelleher C, Smith G, Bourke A, Boduszek D, McBride O, Morgan K. Sex in Ireland in the last decade: sexual health research and its policy implications. IRCHSS Policy Brief. Dublin: Royal College of Surgeons in Ireland, 2013. [online] Available from URL :  https://epubs.rcsi.ie/cgi/viewcontent.cgi?article=1053&context=psycholrep (accessed 7/11/2018 and again on 25/11/2018)

Late Late Extra  1987, Television Programme, RTE, 16 May, viewed 01/02/209 via <https://www.rte.ie/archives/category/society/2017/0504/872557-condom-controversy/>

O’Kelly, E. (2019) ‘Sex education outdated, ethos should not influence teaching – report

RTE, 29 January, viewed 01/02/2019 via <https://www.rte.ie/news/education/2019/0129/1026159-sex-education-schools/>

‘Why sex should no longer be a dirty word’(2018) Irish Examiner, 23, October, viewed 01/02/2019 via <https://www.irishexaminer.com/breakingnews/views/analysis/why-sex-should-no-longer-be-a-dirty-word-878393.html>

World Health Organisation. (2002). Defining sexual health: report of a technical consultation on sexual health, 28-31 January, Geneva. Geneva, World Health Organization, viewed 01/02/2019 via <https://www.who.int/reproductivehealth/publications/sexual_health/defining_sexual_health.pdf>

Bibliography

Burke, E. (2018) ‘Sex, power and control of communication: What porn studies can teach us’, Silicon Republic, 17 August viewed 01/02/2019 via <https://www.siliconrepublic.com/innovation/caroline-west-sexuality-studies>

Research on Application Development

My main responsibility for this project is the technical side of developing the application. I have decided to research all options available to us to ensure we choose the right option for our project. This post discusses both the research and the practical work I completed over the first three weeks of the Semester to help me properly understand our options with regards to application development. My work began with desk research and then began to evolve into getting hands on in an attempt to understand the tools that we have at our disposal.

Week One 28/01/2019

IOS Vs Android

This is a huge question that you have to considering when first developing an application and there are numerous factors to take into account. Demographically speaking iOS is a platform generally associated with more affluent users, it is the prominent platform in the US and it’s users and more inclined to spend money on applications. ( Teleman, Costi 2017 ) Android is the prominent platform in developing countries and amongst users who are spend money more consciously. Android is also much more prominent globally. (Katariya, Jayanti 2017)

“You have to consider the whole Android family-from low-range to mid- and high-range iterations when developing and designing your apps. ”

( Teleman, Costi 2017 ). Screen sizes and resolutions can be a difficult aspect of app development for Android because of the open nature system, many different brands and ranges of smartphones exist within the Android family as opposed to iOS which has a more standardised range of screen sizes and resolutions.

Development time is significantly shorter for iOS and hence it is much cheaper. iOS development requires a program called X Code which is only available on Mac. Android development can prove much more time consuming, it requires a program called Android Studio which uses Java and is available on Max, Windows and Linux. ( Teleman, Costi 2017 ).

It is generally agreed, from the resources I have read, that app development is easiIt is generally agreed, from the resources I have read, that app development is easier for IOS. Seeing as we have all got iphones and and ipad this would seem like the most sensible approach for us to take. App Development for IOS requires you to use the program Xcode and the scripting language SWIFT. The issue however lies within the fact that my laptop is a windows laptop, and as I am mainly in charge of the app development side of the project, this may cause an issue.

There are several solutions availible for this issue

  • Use the Macs availible to me in college to complete the coding needed.
  • You can pay for a service which allows you to remotely access a mac os from your PC and hence develop using said virtual OS. The fee for this service is 1 dollar an hour or 20 dollars a month. ”
    Before committing to buying a new Mac, you can actually “rent” one for development. You’ll remotely access the Mac and Xcode through your PC. “(Ching, Chris 2019)
  • We could also use a program like phone gap which allows you to use HTML, CSS and Javascript to develop an application that works on both IOS and Android

Week 2 04/02/2019

Phone Gap

The first option I have looked into using for developing our application is the adobe program PhoneGap. This program allows you to use basic principles of HTML, CSS and Javascript to create an application suitable for both iOS and Android.

I found this software extremely easy to use however I found a slight issue in the fact that the PhoneGap developers app was removed from the app store by apple recently and the issue hasn’t yet been resolved. As I only have an iOS mobile device currently at my disposal I couldn’t test the application on an actual device, only on my browser.

Below is the link to the extremely simple application I created using this software. I created this app to gauge which software will be the best for us to begin to develop our final application.

Pros

  • Applications can be exported to either iOS or Android
  • Relies on HTML, CSS and JavaScript which I already have knowledge of
  • Can use Cordova to access the functionality of the phone hardware
  • Fast and efficient testing using the PhoneGap Developers App

Cons

  • No UI widgets availible
  • PhoneGap developers app not availible on iOS

Phone Gap Test Application

Tutorials Watched

Week Three 11/01/2019

Android Studio

Now, although it is said that android development is slightly harder, it may be the solution to the issues with my laptop being a PC. Android development requires an application called Android Studio which can be used on Mac or PC. This would allow us to develop on any computer however we would have to display on an android device, which we are not currently in possession of. There are ways around that though such as using an android emulator or buying a cheap android device such as the lenovo 7″ tablet for around 50 euro.

I attempted to make a simple application in Android Studio Similar to the one I made in Phonegap However I really struggled with it. Android studio requires the programming language Java of which I don’t have any prior knowledge. to get a handle on Java I completed the code academy course on Java. I also found some manuals on learning Android Studio in the CIT library which would be useful if I were making a full application. I also watched some tutorials on Android Application Development.

Tutorials and Books Mentioned

The main issue I forsee with using Android Studio is the complexity of Learning Java from scratch and understanding it well enough to be able to develop a full application using it. I can follow the tutorials and books aforementioned however I am just copying what hey are doing in the tutorial and I have a very minimal understanding of how this works. This would become a big issue when I am trying to implement our own application as there will be no direct tutorial to follow. I am not confident in my ability to transfer my knowledge of Java from a tutorial and apply it to our own project.

Pros

  • Availible on Mac, Windows and Linux
  • Free Software, plenty of online learning resources
  • Would result in me havng a greater knowledge of Java

Cons

  • Would require me to learn a whole new scripting language from scratch
  • I have found Java very difficult up until this point and doubt my ability to transfer my learnings of onto our project
  • Development Process would probably be more time consuming as I can only use a certain amount of the base knowledge I have as a result of my studies
  • Development for One platform only

Xcode

Xcode development is much simpler and swift is an easier language to get an understanding of . The issue however is the fact that I could only develop for iOS by using a Mac or virtually renting one. As I will be putting a lot of work in both at home and in college into this project, it just doesn’t make sense for me to develop the application using a program I would essentially have to pay per hour of usage at home. So I basically have ruled out the use of Xcode for developing this application but it always there as a backup option it would just require me to use mainly the college computers.

Pros

  • Straightforward Software
  • Developing for a standardised screen size and resolution
  • UI Widgets Available

Cons

  • Can only develop on a Mac (either physical or Virtual)
  • Requires learning swift, which despite being easier than Java is still a new scripting language
  • Development for one Platform Only
  • Requires us to display on apple device (more pricey)

Conclusions

I have decided to move forward and get into prototyping using PhoneGap. The pros of using PhoneGap far outweigh the cons. It will allow me to expand on the skills I have been learning over the past four years, I am comfortable coding in the languages required for using PhoneGap, the software allows you to develop for both Android and iOS platforms and this will allow me to prototype and test efficiently. After speaking to my supervisor and conducting all the above research we decided that this is the most sensible approach going forward for our project and I am happy with this decision.

Bibliography

Jayanti Katariya (2017) Apple Vs Android – A comparative study 2017 [online] Available from URL : https://www.moontechnolabs.com/apple-vs-android-comparative-study-2017/ [ accessed 02/02/2019 13:50]

Teleman, Costi ( 2017), Android vs iOS App Development: A Comparison and Decision Guide [online], Available from URL : https://dzone.com/articles/android-vs-ios-app-development-a-comparison-and-de [accessed 02/02/2019, 14:45 ]

CHING, CHRIS (2019), XCODE FOR WINDOWS (12 WAYS TO BUILD IOS APPS ON PC) [ONLINE] AVAILABLE FROM URL : HTTPS://CODEWITHCHRIS.COM/XCODE-FOR-WINDOWS/ [ ACCESSED 04/02/2019,

18:30]

Academic Paper Current Progress

Planning Our Project

One of the biggest challenges within this project will be project management. We have established that with a team of four people it may be difficult to both organise the project and present clearly defined roles at the end of the project. To combatt these issues we have decided to use some tools to help us keep track of where we are wih regards to the work we have done and the work that we will need to do.Gantt Chart

Gantt Chart

The gantt chart was created to help us visualize the progression of the project as a whole. It contains all the main tasks we envision ourselves doing, their progression, and who is responsale for said tasks. The advantage of the Gannt Chart is that it visualizes not only the tasks we have to complete but also the timeline within which they have to be completed. We will mainly use this at weekly meetings as a check in.

Trello

We will be using trello to keep track of the project on a day to day basis. Not unlike the Gantt Chart, trello is fundamentally a list of tasks broken down into sprints however, it’s more fluid and user friendly. We will be using trello to keep track of not only our own personal tasks but also the group tasks. It will be somewhat of an organisation tool and a communication tool for when we are working remotely on the project.

https://trello.com/b/DJDlUIzU/lets-talk-fyp

Personal Methods

Alongside the planning we will do as a group it is also important to keep track of everything we are doing personally to ensure we stay on track overall. Personally I will be using my Personal Trello Board to stay on top of my workload, as well as a diary for important dates, notes and information.