Don't wanna be here? Send us removal request.
Text
Emerging Tecnologies
Software development is a constantly evolving industry, because it must be to accommodate for the myriad products and problems that need to be built and solved. Technology has evolved at an incredible pace over the last decade, from the rise of sophisticated  mobile platforms, to VR, machine learning, and the increased prominence in online web applications. I’ll go through a few types of newer software that I think are interesting.
Android Development
Android is, in the grand scheme of things, not a recent technology. But is a prominent and widely used one. It also is a technology that is constantly being improved and updated by google. The latest release of android, Oreo, brought with it a host of new features to improve the user experience in Android devices. These features include picture and picture mode, the ability to have an app that uses video play in the corner of the screen while the user uses other apps. It also brought new improvements to the OS, allowing for faster processing, and accessibility features, like improved notifications. The most interesting new feature, in my opinion, is the ability to use Kotlin for android development. Previously, android apps were written in Java. With the release of Android Oreo, you can write android apps with Kotlin, which is a language based on Java, that helps remove a lot of the. boiler plate code that is required in Java. It functions similarly to Swift, for iOS development.
Web Development
With the rise of web apps in recent years, Web development is becoming incredibly prominent, as are the various frameworks that exist around it. These frameworks, such as ReactJs, AngularJs, Ruby-on-rails, and ASP.net, provide a very powerful development environment that help produce robust, stable, usable software that runs in the browser. These frameworks also cover multiple coding languages, including JavaScript, C#, and Ruby.
With the amount of Frameworks that exist for web development, it can seem slightly daunting to choose one for a project. A good idea is to look at some prominent websites and web apps that have been produced using them.
ReactJS was created and continues to be used by Facebook, and is used by them, and other sites, such as Airbnb.
AngularJs is an incredibly popular framework, that has been used by the Guardian, Lego, and Goodbody stockbrokers.
Asp.net is an older framework, but is still in use. A very prominent use of Asp.net is in the Microsoft CRM platform, Dynamics CRM.
0 notes
Text
AGILE Development
AGILE development is something that I’ve heard time and time again within the last two years, presented as the best way, so far, or designing and developing software. I have to say that I have a hard time disagreeing with that assessment, as the alternative Waterfall method seems like a bloated mess with myriad issues around things like time management, resource management, and budgeting.
First, I’ll go through what I understand of the Waterfall method of software development.
The waterfall model is a very structured way of designing software, that breaks the entire project into the five base steps in development.
As you can see in the image, it flows down, like a waterfall. Â So, the way Waterfall is that each of these steps is completed for the entire project, so the requirements gathering and documentation for the whole things is done first, then the whole system is designed and documented, and so on.
The benefit is that the documentation is very in depth. The main problem, and the one that fuels all the rest really, is that it’s a super inflexible paradigm under which to develop software, which can, and should, go through multiple interactions and permutations.
The easiest what if to demonstrate this is, what if halfway through the development phase, the client decides they want to have another feature in the product. To accommodate this, the project goes all the way back to the Requirements phase, again for the whole system, and work from the beginning. It’s a time consuming, costly, laborious process.
AGILE on the other hand, grants far more freedom in how a product is built. That is not to say its not documented, or that it is loosely defined or poorly led. No, the way agile works is that the project is broken down into much smaller phases, called sprints. At the beginning of each sprint, an objective and set of deliverables is decided upon, and the team goes through the 5 above phases for those objectives. This allows the team to quickly and easily produce a viable project, that will be iterated upon multiple times until it is release ready. Â
This allows AGILE to inspire more confidence in the client, because at the end of each sprint, there will be a new version of the software, that will work and be demonstrable. It won’t have all the features or functionality, but it will be more than only producing documentation for significant periods of time.
AGILE also allows for far greater flexibility, to accommodate for changes in requirements. Because he project is broken down into sprints, if there is a change in requirements, you can just go back to the software produced from a previous sprint and iterate from there, rather than start from nothing again.
0 notes
Text
Ethics in the Computing Industry
Ethics in the software industry is an increasingly prevalent issue, and since it seems we can’t go through one day without a tech company doing something shady or fostering a toxic internal work culture, it’s something I really thing should be fostered in younger people interested in STEM subjects.
I’m just going to explain some recent ethical failings in the tech industry and give my opinion on them.
So, the most recent of one of these is the revelation of the extent of the microtransactions within the videogame Star Wars Battlefront 2. They were revealed to be even more predatory than anticipated, crippling a player’s ability to progress their online character without buying something from the in-game microtransactions ecosystem. So, the publisher not only expected the initial €60-70 investment for the game itself, but also to engage regularly with their lootbox system. Lootboxes are essentially goody bags that you can purchase in-game, with real life currency, that will contain a handful of random in-game items. That may sound benign, and until now the loudest narrative around them was that ‘people can spend their money on what they like’. The problem is that they’re skinner boxes. They’re gambling at its simplest, charging a relatively small price for another pull of the lever. The target and exploit that base level emotional response that is used to get people addicted to gambling. They’re an inherently exploitative monetisation scheme and the normalisation of them is a dangerous precedent to set.
The good news is that EA, the publisher of Star Wars Battlefront 2, have removed the microtransactions from the game, after a significant backlash. Hopefully this act will serve as a flashpoint, and the narrative around lootboxes will properly reflect their true nature as fancy slot machines.
The next one is a bit strange, and I’ll link to an article with more info, but I think it’s a good example of an insidious  way that software companies gain peoples information.
https://www.theregister.co.uk/2017/11/13/lovesense_fixes_audio_recording_bug_in_adult_toy/
The story goes that a couple were using a Bluetooth marital aid, that can be controlled by a mobile phone app. As it transpired, the app was recording audio while in use. While this sounds like a funny story, like a Porky’s style 80s sex romp, I think it’s an unsettling look into the mentality that exists during the creation of apps, particularly social media apps. They are collecting everything they can get their hands on. They want to build a profile of their users that covers every aspect of their behaviour and interests, that can be used to advertise things. The refrain of these companies when challenged on this is that collecting this metadata allows them to provide a more pleasant experience for their users but I don’t trust those assertions.
The third, and last example, relates to twitter predominantly, but does cover other social media networks. This example is slightly more abstract, and is more an examination of culture within a company, and who is guiding that culture. The reason it relates more to twitter is that twitter is committing more and more missteps around this issue. This issue is how these companies are defining unsuitable content. By this I mean how these companies are deciding which content should be censored and hidden away, and which content should be signal boosted. In twitters case, they have regularly censured members of marginalised groups, while people with oppressive and reprehensible views are allowed free reign for enough time to spread their hateful ideologies.
People like Richard Spencer and ‘Baked Alaska’, actual Nazis, have until very recently been verified, and granted the benefits that convers. Contrast this to the fact that recently the entirety of the Bisexuality hashtag was made unavailable.
Treating these people like it’s worth your time considering and respectful is dangerous in the long time, and has directly contributed to the rise of the Alt-Right, and other dangerous neo reactionaries.
0 notes