Hull Blogs

Aggregated posts from University of Hull students

Going to Monzo Show and Tell Manchester

This week I went along to my first Monzo event, Show and Tell Manchester. I’ve been meaning to go along to a Monzo event for a while but haven’t had chance as I’ve either been at University or they’ve been in London; I’ve been following Monzo from a while from getting a Beta card in 2017 and writing a blog post about building on their API, I’ve always found their modern tech-stack and community-driven approach really cool. The event was held in The Federation in Manchester, a pretty unassuming building from the outside but a modern co-working space inside. I wasn’t sure what to expect, going from super quiet when I arrived to completely packed in a matter of minutes - it’s amazing how a bank of all institutions can grab so much attention from the mix of engineers, business people, managers and customers in the audience. After a bit of time to chat with other people in the audience as well as free pizza and beer (always a good perk), we got going and heard from the developers. Billing Pots First up we heard from James, a backend engineer at Monzo who spoke about the latest development, based around the goal of getting more people to use their account as their main one which is billing pots and get paid early. Billing pots were designed around the idea that people like to segment their money, so you can go on a night out and not spend every last penny! We heard about how their MVP model with constant evolution led to the current implementation (where the money is moved back into primary account just before the payment is taken at around 3 am). The community-driven aspect was really clear on this as their previous model of committed spending pots (pots for all direct debits) was seen as confusing, so with customer feedback, it could be refined before it even got released. There were then questions about what classes as a bill, would a recurring payment (i.e. Netflix or Spotify) fall into those categories, and how could that be paid from a pot - but we’ll come back to that later. It seems that now is a really interesting point at the bank’s history, as the assumptions made 4 years ago in the early code are starting to break, as users aren’t single entities with a couple of pots anymore with joint, business and investment accounts launching alongside. To be able to manage this, a clearer and simpler design system was needed for the app. New Navigation Kavi then came on to explain this process, talking about the new app design what went into building a new and simpler experience, that could be both easily understood by customers (around 2.5 million now) and easily added to by the growing development squads (15 product teams). The current app was compared to the lego you can see in the picture of the above, with the features there but bolted on in an unordered way and the new design being is a way to give a better structure, to make customers discover the things that make them love Monzo as fast as possible. The new tabs in the top bar are as part of a view to make the app the home of your financial life, where you can overview all of your bank accounts at a top-level by just swiping through (like a photo album) and then be able to work down granularly into the details of all your accounts (like a photo). The first step in this is Amex, but over time it’s looking to be extended especially with the launch of open banking (see previous blog post here) and the tabs are also going to be made the place to make you aware of new services that are available, instead of being shown as feed items. Pots, with cards? James mentioned the possibility of paying for recurring payments using pots, but the current method for Direct Debits of automatically checking, then transferring the money from the pot into the balance not being good enough for this. MasterCard requires a response in less than 200ms to tell them whether the customer has sufficient balance before they reject on the bank’s behalf, not giving enough time for two lookups. He mentioned that virtual cards could potentially be a solution to this, but that made me think how could that practically be implemented. Based on the assumption that for virtual cards, MasterCard’s Digital Enablement Service (the thing that makes the card’s virtual numbers used in mobile wallets) asks the bank for an image of the card (which would make sense due to investor & joint account cards showing differently but having the same BIN), a different image for the card can be generated based off pot colour and shown in the mobile wallet to allow the card to be shown separately and allowing only one card of each pot colour to stop getting mixed up. You can see above a few mockups I made of how this could appear in-app (using their open UI kit on their GitHub); apparently implementing this isn’t on their short term road-map, however I think it would be a great way to handle it, especially as it’ll both remove the race condition for balance lookup, and allow people to segment their spending more easily. Wrapping up Thanks to the Monzo for running the event, especially Yen (Community Manager) and James and Kavi for speaking. It was interesting to hear how more about how Monzo does development. If there’s another event happening around you in future, I highly recommend going along to it! …
Read more

How to convert your resume to JSON

CVs have long been (for me anyway) a long list of PDFs of v1. v2-Final, v3 and so on, making it painful to work out which version is the latest and sift through to find the version I’m looking for. Last year, I migrated my old iWork Pages based CV to JSON to get greater control of both versioning and design of my CV, as well as better compatibility, as Pages files don’t always play nice when converted. I thought I’d share in this post some of the things I’ve learned along the way, so you don’t have to experience some of the confusing hurdles along the way that I did. There’s a standard! 📖 The best place to start reading is the standard schema that’s documented here, as it’s just JSON it’s easily expandable you can add categories and take them away to suit your needs. If you’re looking for some examples or inspiration for your design, there’s a load on the site to get you started (although I’d recommend at least tweaking and updating them to fit your brand). Get Started ✅ For building locally, I’d recommend getting started using the boilerplate theme which gives you a super basic setup with partials preconfigured to allow you to build up easily. The theme uses handlebars to render the partials, meaning if you decide to add a new partial for a new section, you just need to append a {{> partialname }} to resume.hbs. To build your partials, it’s super nice too as it just uses handlebars conditionals (pretty similar to the ones used in liquid for Jekyll blogs), you can read more about them here and see the example below: {{#if website}} <div class="website"> <a href="{{website}}">{{website}}</a> </div> {{/if}} You can then just add all your different sections, style it with CSS as you would a normal site (or SASS if you want to compile it). When you’re going along you can preview it live in the command line with resume serve and when you’re done, preview it in a browser and print it to PDF. I’ve found exporting by print to be the most effective way of exporting, as the built-in PDF export can be a bit flakey. The boilerplate theme’s getting started guide on GitHub is pretty good, and if you’ve got NPM installed globally - it’s pretty much sudo npm install -g resume-cli and serve. Git on it 🗂 When you’re done (or as you’re going along), make sure you commit your CV to version control (whether GitHub, somewhere else or self-hosted). Having every version stored in the repository history is great, as content revisions are only to the resume.json file, you can see exactly what changed in every update as you look back so you can see exactly what version you sent out. Always have a PDF option 📄 It’s pretty neat hosting your own resume as HTML, I agree. However, if you’re going to distribute it, you should always give an option for your users to download it. Don’t rely on the user printing from the web or saving as a PDF, as web browsers are so inconsistent it almost certainly won’t look as you thought it did when they export it. Control your brand and make sure your recipients see what you want them to! …
Read more

End of Semester Two (Year 2)

My very late review of the last semester! I’ve had slightly less ‘building’ this time around and more work on theoretical underpinnings, which has been interesting. Through projects in the courseworks, I implemented a TCP networking stack, wrote low-level efficient code in C++ and built some databases (the projects just don’t have cool names as normal!). Networking 🌎 The Networking coursework, Location Hub isn’t the same as last semester, it does the same thing differently (and in C#, plus WPF). There was an essential part of understanding how RFC’s, specifications and protocols all work under the hood and important lessons in how to follow them. The networking coursework’s core part was building out the application and following the specification exactly. The application follows a spec to make raw HTTP requests to the 0.9/1.0/1.1 variants of the spec meaning that browsers can interact with it too, it was a really interesting task as it gave a lot greater understanding of how protocols are designed and function. I was incredibly pleased as I scored 100% for the design and implementation of the coursework. Transport Routing 🚌 The coursework for advanced programming was my first experience using C++ for an application. It was a bit weird at first but learning how pointers, references and designing algorithms for performance was a really interesting exercise and encouraged creating thinking. The application had to find you the fastest route from A-B using a provided CSV of locations and another of links between those locations, storing this data in vectors linked together allowed me to find routes between and sort to find the fastest in the most efficient way. I’m proud of this coursework, scoring 79/80 for code implementation, design and efficiency. Databases 📖 Databases was an interesting module revolved mostly around making sure you chose the right type of database for what you needed, the coursework was about structuring data, something I’ve already found useful in my final year project so far. The coursework consisted of modelling a data-set, converting it to Boyce-Codd Normal Form and explaining through methods of how to do modelling, then writing SQL queries to migrate the data over - useful but not as hands-on as the others! Summer ☀️ For the first month and a bit of summer while I still had my accommodation, I worked with Sauce as an intern on an IoT project, working with various technologies including React, React Native, the Serverless Framework and AWS, which is great as I’m working on building my Final Year Project with the framework. It was a lot of fun, the team were all great and I learned a lot! Since then I’ve been on a holiday to Northumbria, see the obligatory bonus dog picture! I’ve also made a start on my final year project, with data-modelling and design now well underway. I’m looking forward to sharing more about the project I’ve chosen and how it’s coming along. I’ve got a couple of other cool projects underway too, including one with SwiftUI which I’m planning to write about! You can view my previous semester reviews here: Year 2 Semester 1, Year 1 Semester 2 …
Read more

Are mobile networks ready to be disrupted?

First fintech, now insurtech, regtech and everything else. Is mobiletech the next big up and coming industry as users want to understand their data and usage more, and can the Big-4 and their MVNOs (Mobile Virtual Network Operators) fight back? Mobile Plans haven’t changed much in the last 10 years; sure the data you can get for your money has increased, or in some cases even decreased. Many providers have killed or price hiked their ‘unlimited data’ plans as consumers push them to the limit, but it’s leading people to question what do they actually pay their mobile network huge amounts of money for, and could it be done better. I was introduced to Zevvle a couple of weeks ago, a new concept of a mobile network that’s built from the ground up by the people with features that people want from it and as a concept it really interested me, running on the highest coverage network in the UK (EE) as an MVNO but providing a completely different service. With a summary screen that would feel at home in the Monzo app, you’re shown a breakdown of your usage in data, calls and messages grouped by day almost as if they were transactions, an instant breakdown available immediately isn’t available from any provider that I know of right now. The summary screen would be really useful with their feature that really sets them apart from different providers; SIM sharing. This will allow you to have one plan and potentially 9 other SIMs on your account, allowing you to use your plan on a tablet or home IOT devices or even share your plan with your family (who hopefully don’t use as much data as you!) If they could do something no other UK MVNO has done yet and deliver features like WiFi Calling and Visual Voicemail and eSIM support over time, they could have real potential to challenge the big players. With a good price, no contract lock-ins and a good app, I’d switch over when my contract ends to try them out. The industry really needs a challenger and one that delivers features that no other MVNO does. The app went live today, and although the price isn’t yet competitive (£5/month + £5/GB), with economies of scale they’ll be able to match the low pricing of other providers. Although I don’t intend to move over right now, I thought it was a really cool thing to share as the more people who have their say in the network, the better it will be. They also have a community site here, a lot like Monzo do. It seems there’s a waiting list that uses referrals to move up the queue (a bit like Monzo did with tickets in alpha), but if you want to see for yourself but you can register to learn more or join, you can use my ticket to learn more or register here. It’s always interesting to see what industry is next to be disrupted, and mobile networks seem a prime candidate. …
Read more

Building Lecture Analytics at JISC's CAN Hackathon

After our success at JISC’s DigiFest hackathon, this week, the team were invited back to Milton Keynes to work collaboratively with other groups. We also built a new product to help teaching staff to understand where students are engaging and why engagement could be dropping across lectures, by anonymously monitoring student faces in the lecture theatres to calculate student attentiveness and emotion. This conference was about the Change Agents Network, a network of staff and students working in partnership to support curriculum enhancement and innovation across higher and further education globally. We decided to target our entry to this to create a product that would help staff to track if students were engaging with their lecture material, spot areas where attention dropped and get a better understanding of their audience. Day 1: Travel We started the hackathon heading down to the Open University campus in Milton Keynes, checking in at the hotel and heading straight out to tea at a local Indian restaurant where we met the teams that would be participating, found out where they came from and where their interests in tech were. The meal was great, and we then headed back to the hotel to start planning the code, building out mockups in Figma and delegating who was going to be doing what the following morning. We also saw Uber Eats robots, and they’re super cool. Day 2: Code After heading down for breakfast, we headed out to to the event and start working, got our table and initialised the Git repository. We started with a stand-up where we told everyone what we were planning on building over the event and the technologies we planned to use to realise our ideas. We started with the code implementation, Harry architected Entity Framework to manage our users and data objects, Alex worked on pulling images from our client application, processing them and returning them to the database and Dan worked on processing data through the app, building data models and our login system. I took responsibility for the frontend, using MVC to show users their teaching sessions, create graphs and diagrams to visualise sessions. By the end of day one, we were happy with how the project was going, and we had our skeleton design and data-processing working correctly. We headed off for our Gala dinner with the conference, after which all the team went back to do some late night coding in Harry’s room. Day 3: Code faster then pitch The clock was ticking on day three, only having 3 hours to perfect our application before we pitched it to the judging panel. I worked on data shown in the frontend, Harry and Alex cracked down on data processing errors and Dan fixed data models. We finished with time to spare, headed out for lunch and then set up ready to present in a trade-floor style location in the University library. The pitch went down well, and there was a lot of interest in the product we made, especially the ethical considerations we had to stop data becoming identifiable, like only recording metadata not images of students and both staff and students alike thought it could be instrumental in their classrooms. If we were to build this into a real product, we’d link the recordings to institution’s lecture recording software (i.e. Panopto) to allow playback of the session and let the teaching staff directly see where students disengage and reengage. End Product We were pleased with the end product that we created, and are planning to open-source it, if anyone wants to take it further. Very kindly, JISC covered our costs for the event - thank you to them for inviting us and giving us the opportunity to come back and work with new teams. You can read more about it on the projects page here. Detour At the end of the conference, we were about to head home when we wondered how far Bletchley Park was from Milton Keynes, it turned out to be an 8-minute drive, so we went, and visited the National Museum of Computing there. We were 20 minutes from Bletchley Park itself closing but had an hour and a half at the museum. In the museum was everything from Colossus (the first large-scale computer) to the Apple II and is certainly worth a trip. Next year we hope to visit Bletchley Park itself as a #hullCSS day-trip. Video Here's a quick summary video of our time at the hackathon: Harry has also has a blog, which you visit here. …
Read more

Visualising what data Universities' hold

Opening doors on campus, tapping into lectures, using eduroam and logging in to single sign-on all are logged so the University can work out if you’re going to lectures, but what does this data actually look like? When I requested a list of lectures I was absent from this year from at University, I wasn’t expecting to get a 3500 row CSV back of all my activity at University. After I got over the sheer amount of data that I got, I decided it was time to do some visualisation on this data to get an understanding of it, breaking it down by categories, running analytics (like if there was correlation on any missed time-slots) and even the most commonly used University single sign-on resources. I created a tool as a personal project that allows students to understand their own files and get their own page of tiles by uploading the file that their Student Hub will provide them of their own student record. It’s a Node.JS Express application that takes uploaded CSVs and converts them to JSON objects, which are then processed and broken down by categories, analytics are performed before it’s passed back to express and shown in the front-end, with the original data file being deleted from the server immediately. All the code is open-source and available on GitHub and I have a live instance that is deployed by Zeit Now’s Continuous Integration. Both the source code and the live instance are linked from the project page. myEngagement on Projects Page …
Read more

Going to FinTech North in Manchester

Last week I attended FinTech North Manchester, an event about businesses, potentials of technology and rules around running FinTech businesses. It’s a really interesting area of technology, with huge potential for transformation so I thought I’d attend to learn more about the industry and where it’s going. A variety of companies from the North spoke to us, including MyPinPad who delivered the first HSM (Hardware Security Module) as a service, to allow customers to process card transactions requiring PIN straight from within an app, without even needing a specialist PIN reader. This meant they only needed to insert a card into a device and enter their PIN on a phone instead of a reader, and gave us an overview the regulation changes and hurdles they had to go through to make it possible. We heard about the common issues with bringing modern technology to the banking industry, namely the plethora of antiquated and creaky old systems, where adding new systems could break it, and as a result, how convincing a bank to use your service is really difficult. Equinti, then spoke about how they’re working with the growing expectations of consumers and how lending is changing to becoming more online based and streamlined, making it much easier for people to access when they need it. There is also a potential for big players to become entrants to the fintech space, with global giants like Amazon being able to follow in the footsteps of Alibaba and their service Alipay, and with the huge amount of consumer data they already have, it would give them a significant advantage. We met startups next, including Arro - a bank and debit card solution that could work for homeless people too with the organisation performing street level validation of customers and potentially allowing people to back on their feet. Mutual Vision, an organisation showed us what was possible with cross-bank collaboration as a company jointly owned by building societies to develop a modern management system. We also met insurance disruptors who created a single policy system across insurers to make policies simpler to understand and reduce confusion about what was covered. EY spoke about how they’ve transitioned to looking at banking from a user-centred design perspective and the organisational changes they’ve had to make to do this, and what users are expecting design wise. Banks are being forced to change from being a bulk of information shown in a statement sent in a letter once a month to living up to date information, as disruptors and challenger banks like Monzo, Starling, N26 and Atom all provide similar services but do it in a more personalised and interactable way. In the closing panel we spoke about the future of transaction handling organisations like Visa and MasterCard and how they will survive when payments are moved to merchant straight to customer, but the overall consensus that especially with Visa and MasterCard’s work on tokenisation, that means that every transaction uses a unique card number to protect customers from both malicious parties and to ensure their privacy (more about how that works here). The overarching message of the event was that consumers are expecting more from their financial providers, as they are now more engaged in their financial lives than they have ever been. As new legislation, like PSD2 comes into action, people will have more opportunities than ever before to get insight into their financial lives. The biggest change expected in the next 5 years is going to be customer experience as open banking becomes global, with Australia adopting the practice from next year too. It was a really interesting event, I met some really interesting people and it’s always great to see what local tech events are taking place. …
Read more

Winning JISC's DigiFest Hackathon

Last week a team of members from #hullCSS and I went to the JISC Digifest Hackathon at the ICC in Birmingham. If you don’t know about the organisation, chances are you’ve used their services as they provide the Janet Network and eduroam for the UK, as well are a non-profit providing solutions for the education sector. Over two days we built an initial version of an ‘intelligent campus’ application which allows students to engage with student services, find out their schedules and be notified of changes by their institution more easily. Our Motivation We were driven by the array of poor apps published by UK institutions, offering limited functionality with mostly web views. Hull’s current app also consists of a timetable which is only available when the days of the week you want are manually selected and correct week number in the term is ticked, providing an extremely poor UX. Through the massive advances made in smartphone technology over the last few years, we realised we could harness native applications to provide access to PassKit and allow smart card use as well as simplifying the onboarding process for students to set up Eduroam, Mail Services and more automatically which would help reduce the number of calls to our IT Service Desk. We knew that iBeacons would also solve the problem of tapping-in to lectures, as they allow automatic detection of when a student enters a lecture theatre at the correct time so they can be signed in. We realised that there’s a vast amount of fragmentation across Universities and that there are many different services requiring plastic cards, and with the University’s goal to eliminate single-use plastics on-site through plastic pledges, we thought we could do this and eliminate plastic cards from over 16,000 students on campus. Day 1: Travel We spent Monday afternoon driving down to the ICC in Birmingham, checking in to our hotel, discussing our plans for design and making some wireframe mockups in Sketch to understand conceptually how our app was going to function before heading into the hackathon on the following day. After our brainstorm, we headed down to The Indian Brewery for a get-together with the other teams participating in the event (including another team from Hull!) We got to know the other teams, enjoyed some amazing food and then headed home for the night to be ready for an early start on Tuesday! Day 2: Code Starting bright and early and getting to the International Convention Centre (ICC) for 8.30 am, we split up our team, decided what we were working on for the day and got straight to work. I worked on building wireframes, mapping out user journeys and designing our interface then moving to work on implementation in XCode later in the day when I’d designed all the interfaces. Harry was our lead iOS Dev and worked on implementing my mockups and bringing them to life as they came in. Dan and Alex were working on building out our backend services, building login, timetable data, bus tracking and weather to connect up to the app. The pressure ramped up as we got towards 5 pm, where we had to stop work for the day. We ended our first day of code with a functional app but no authentication and were then invited down the Digifest’s delegate meet-up, where we spent a couple of hours meeting interesting people from different organisations, seeing some cool robots and talking to JISC’s team as well as developers from Canvas and Instructure about interesting ways we could use their APIs. In the evening JISC took us out for a wood-fired pizza at OTTO, the meal was incredible and the venue was lovely, we pretty much filled the venue with hackathon participants. After tea, we headed back for a late night of doing some work with Dan and Alex building out a background-image grabbing service and me doing some mockups for the last day of work. Day 3: Code & Present Waking up bright and early on the final day of the hackathon, with a solid 5 hours of sleep we headed down for breakfast and then back to the ICC, where we knew we had very little time to complete our solution and make up a presentation. I got on implementing my mockups from the night before in Swift, while Harry worked on the Campus page and the presentation. Dan and Alex got the backend services into AWS and Harry configured log-in to work through the app against the server. As the clock ticked down, as we got the final version of the presentation, I headed over to the projection artists to make sure our presentation ran properly and there were no issues with HDCP or Keynote. It was then time for our presentation (available to watch fully here on YouTube). There were some really interesting projects given by the other participants. End Product We could really see potential in the product that we created and were incredibly pleased with the end result of the hackathon. We’re continuing to build on our work as a side project and you can read more about it on the projects page here or contact me to learn more. Very kindly, JISC covered our costs for the event - thank you to them for inviting us to the event and giving us the opportunity. It was really fun to bump into the other team from Hull too, and meet Ollie and Luke to see their cool lecture engagement project. Thanks to all the other teams in the competition for keeping us on our toes, and the really cool end products you created. Harry has also done a write up of this event, that you can read here. Video Here's a quick summary video of our time at the hackathon: …
Read more

Joining Hull Makerspace

On Saturday I went along to the new Makerspace in Hull with fellow #hullCSS members Harry and Adam to see what was happening in the space, as I hadn’t been before - and they said it was really cool. After doing an induction session, being reminded to stay away from sharp things and all the normal health and safety stuff, I was set loose on the space to build whatever I wanted. After three of us spent nearly an hour trying to suss the brand new digital embroidery machine, we finally managed to work out how to correctly thread the needle so it would work properly (the instructions were harder than we thought at first) and we got a design made up of the Makerspace logo, then sent it over serial to the machine. The embroidery machine was pretty cool, as you can see by the picture to the left, it showed the progress of what it was embroiding as it went along. As a community it’s a really nice idea, as it allows people to learn from others and implement the best practices of other people as well as having experts to help you use machines. I was able to help a guy who was just getting started with Arduino fix some debounce and variable errors in his code and get his circuit working, and it’s nice to think if I have issues too there’s a friendly group of other makers and devs around to get a second pair of eyes on an issue. I’m looking forward to going back and making new things there, especially doing some 3D printing, CNC cutting and making some Vinyls for my laptop. With so many projects that I wanted to do but didn’t have the tools to, the space will allow me to make the crazy prototyping ideas I had a reality, which is awesome. …
Read more

Going to York Technology Conference

This Wednesday I got the opportunity to go to York Technology Conference, after seeing it advertised on Twitter in Early November, I was really interested in a local tech conference, especially with York being so close. I went along with Adam representing #hullCSS and some other people from the University across different faculties. Getting Started When we arrived, we were given our lanyards and personalised agendas for the day based off what we’d chosen the week before on a Google Form, and headed off to the introduction from the CEO of Netsells who introduced us to the apps they own and have built on including YourParkingSpace and RailGuard, speaking next about their goals for the future. Becoming a Millionaire and Machine Learning at the BBC Daryll Mattocks gave us a talk on the essentials for running a digital startup and what to keep in mind when designing, planning, pivoting, pitching and funding a startup, as well as the importance of only building projects that are your actual passion. Robin Penbrooke gave us a question of how hard is it to change the way an almost 100-year-old organisation functions, and the problems the BBC has overcome to try and change the technical direction of it. The key focusses being on breaking through technical silos (stopping radio/TV being treated as separate entities), improving metadata on shows and tagging the ‘feeling’, who it’s aimed at to build a suggestion and insight system. It was really awesome, and if this type of system could be applied to an archive of BBC Redux and beyond, it would revolutionise VoD. FinTech and Blockchain Next up Rob Bellingham from Netsells gave us an overview of FinTech, taking us through how the authorisation cycle for cards works and the magic that happens in under a second when a card gets approved for a payment and security checks are run in the background. As someone who follows FinTech banks really closely, Rob gave us some cool but also scary insights about how data-informed decisions could use voice recognition, social media and IoT to inform whether loans, insurance or other services were offered to people. I also felt like I was a club member when he asked how many of us were Monzo users and half the room put their hands up. The blockchain task was especially good, as the Dragons Den pitch I did won us Amazon vouchers! We were tasked with thinking of an inventive way to apply blockchain to a real-world situation, bearing in mind the limitations of the technology as well as where it excels. Steve and I came up with the idea based on Steve’s knowledge of housing issues in Africa where property fraud means that houses are being sold to multiple people and I realised this could be applied in an open land-registry system where ownership was shown transparently. This would mean changes in ownership were on the blockchain, so transaction history was shown to stop fraud and stop Government corruption as auditable records show when ownership has been changed, something that’s achieveable with blockchain despite it’s low transaction rate. BBC UX and Castles in the Sky Next up, after lunch we went into a big lecture theatre to hear from the Mansha Manohar, a senior UX design researcher at the BBC who gave us an overview about the journey getting into doing professional UX design and asking the questions about designing what people need and how do we make sure we’re doing the right thing. We learnt about how user testing is the most important part of the design process, and how by taking a prototype to the users early on you can find big problems really quickly, we also heard the advantages of agency vs employed work and the best ways to get exposed to the widest range of experiences. Ross Sleight from Somo then gave us an overview of designing ethical businesses, and the important areas psychologically of app development, with the importance of thinking twice before you design a product that addicts and has a negative effect on people’s lives. I think this attaches quite well to what Bethan spoke about at CodePen January about the importance of taking responsibility for what you design. Tim Burnett spoke to us about the Cyber Threat landscape and what modern threats to our tech looks like, with the increase of nation-state attacks, ransomware and harder to stop attacks and the lack of enough people in the industry to actually deal with this threat. With an evolving threat landscape, we’ll have to rely more on AI as hacks become more covert and motives change, with state attacks focussing more on getting in and finding information covertly compared to the previous style of individual attackers shouting and telling-all about their hacks. We had a panel debate next, where the audience voted online and we heard a discussion on the Apple/Google difference in privacy stance, self-driving cars and technology in the next 5 years. IBM Research The talks for the day wrapped with Helen Bowyer, an inventor at IBM Research giving us an overview of IBM’s areas of focus, including AI, blockchain counterfeit prevention and lattice cryptography - an incredibly complex and cool way to secure data. I also wasn’t aware that Node-RED, the system for linking together IoT devices was designed by IBM too. Networking It was a great day out, and it was really interesting to find out about more of technologies I knew very little about before, like the potentials of Blockchain. I was also able to learn more about what really interested me like and questions I had wanted to answer but didn’t know who to ask, including the potentials for data processing with the archives at the BBC. Thanks to the team at York Technology Conference for organising the event and Mark from Careers Service for getting us there, and Netsells for the drinks after. I’m really excited about what’s coming up next year. …
Read more

CodePen January in Hull

This week I attended CodePen in Hull again, the first one of the new year after the one where #hullCSS demonstrated SpaceApps at last November, this event we had three speakers with really different topics, Bethan who talked about ethics in tech, Sundeep who told us about SVGs and Steve who told us about some cool tech he found at Future Decoded. Bethan Bethan talked about taking responsibility for change as a developer and the importance of owning your own actions, not relying on other people to make changes and taking initiative yourself as a developer to consider the impacts that your actions have on others. It was a really interesting talk, and my description doesn’t really do it justice but it’s just a reminder that your actions, however small impact on other people both in your team, end users and beyond. Sundeep Sundeep gave us an overview of the best way to use SVGs as components in React and then showed us some really cool work from Airbnb, their tool Lottie. It’s an open source tool that converts After Effects animations to animated SVGs with JavaScript to allow them to render natively on different platforms which looks really awesome and can be seen in the animation in this post. Sundeep also gave us a run-through the best ways to optimise SVG’s for the web, it was a really interesting talk. Steve Steve gave us an overview of the talks that he went to at Microsoft’s Future Decoded this year, and went through some cool but scary stuff from Microsoft Labs like using Machine Learning with blood cells to be able to provide a list of every illness you’ve ever had - something that could save thousands of lives. He also gave us an overview of the scale of modern data production with the potential for Smart Cities to produce 250PB of data every day, autonomous vehicles producing 5TB of data daily and every person producing an average of 1.5GB of files every day. The biggest problem we’re on the verge of is how do we save such a huge amount of data, as production rates exceed the capacity we can store? Of course, what’s a CodePen event without some super cool stickers and well-illustrated books! This time, I discovered Increment Magazine from Stripe, a really cool magazine with the same goals as CodePen events, to show what teams are doing well and good practices so other teams can learn from them and do even better themselves! The issue I got focusses on security practices. I also got a Developer, JavaScript and a React sticker from Wes Bos’ collection to add to the Surface sticker set! Thanks again to C4DI for hosting the event! …
Read more

End of Semester One (Year 2)

This is my slightly late review of last semester and what I’ve been up to! I’ve built numerous applications in projects for my course but we’ll get into that shortly; I’ve also had a lot of project management practice this semester, being in charge of delivering an agile group report as well as software. Ultra Run Ultra Run was my project for Electronics and Interfacing where we were tasked with building a timer with additional functionality using a NeoPixel 7-segment display to track a runner. I added additional functionality using RFID and serial to track individual runners and show them in a desktop application, allowing the runners’ progress to be tracked centrally. Then returning a serial communication to the Arduino to give visual feedback the card has been accepted, due to the flaky nature of Arduino serial to ensure all scans are imported correctly. More about Ultra Run Location Hub Location Hub was my project for Information Systems and Web Technologies, where I had to build an app to show staff where in the University students are at any given time, presenting to users both their current location and where they’ve been over the past 24 hours. Because of requirements for the assignment, this project had to be built with PHP and MSSQL as it’s underlying technologies. It was interesting to use these, although I’m not sure I’d use MSSQL in future projects as I prefer MySQL/SQLite. More about Location Hub Fitness Hub For Systems Analysis and Design, we were tasked with designing a system that could be used to manage members and bookings at the University of Hull’s new fitness facilities, migrating them from their current Excel spreadsheet based solution used since they opened this September. The project was based mostly around ensuring that requirements were properly captured and ensuring that the Software Requirement Specification (SRS) document was detailed and correct to build a successful piece of software. It was an interesting project and we produced a C# WPF application. More about Fitness Hub …
Read more

Building an MQTT connected Tardis

After coming home from University last Christmas, I saw my childhood Tardis sat on my desk disused and thought, I’m a CS student - I can build something cool out of that. Using NeoPixels, an ESP8266 and MQTT, I did. Tech Choices The first thought was how was it going to work, batteries were out as it used to devour them three at a time, so USB power was the obvious choice due to its ubiquity (and who doesn’t have a drawer full of adaptors). As for the module inside, initially planning to use a Raspberry Pi Zero as I’d used previously had experience scripting on it. But improperly turning off a Pi could corrupt it’s SD - as it’s a full-fledged Linux OS on an SD card. For this project, I needed something that I could flash and restart freely as well as use minimal power, so I chose the ESP8266. After playing with various languages for the chip, I settled on MicroPython as the most familiar to me (as I’ve worked with it on a BBC micro:bit before). Getting Parts and Building I picked up another Tardis from eBay for around £20, as I wanted to keep my one as a reference (just in case I couldn’t get it back together), an ESP8266 an RGB LED and an LED strip, when it arrived I started prototyping with my breadboard, building a working version with the RGB strip broken into 4 sections around the interior of the roof and the separate LED in the lamp. I had a fully working prototype after cooking a few ESP8266’s, experiencing some horrible smells of electrics burning and learning some electrical lessons the hard way (if only I had my electronics module a year earlier!) When I measured up to fit everything back in the Tardis though and reassemble, I realised that my cable loom would be too big to actually fit in the box and I started thinking about alternate ways to do this. At a Hardware Meetup last Spring there was a lot of excitement around NeoPixels and after buying some and playing with them - they’re pretty cool and far better than my previous LED strip to light the inside as LEDs can be controlled individually meaning that they can be used for patterns. I built the circuit instead as can be seen on the right, which allowed me to only need to run 5 cables up to the roof which was more easily done and meant I could more easily reassemble after. Software Side There’s more information about the firmware on the Projects page (and on GitHub), but the ESP8266 ran MicroPython and connected to a remote server using MQTT and fetching various commands from there allowing notify50,50,50, lamp50,50,50, interior50,50,50 allowing notification lights, lamp flashes or interior colour changes based off the command and HEX colour value. I’m intending to implement this within Home Assistant to allow colour changing from Apple’s HomeKit and Alexa too. Final Product I’m really happy with what I made and the final product and the functionality that it has, and it’s a nice extra bit of Smart Home technology for me to light my room, as well as serve notifications in an eye-catching way. I’ve also learnt a lot of interesting background information on electronics which I found really helpful going into my electronics module this semester. Your browser does not support videos, sorry. More about BlueboxNotify on Projects Page P.S. I've saved the cross-dimensional travel functionality for Version 2.0! …
Read more

Smart Switch

I quite like gadgets. So it should come as little surprise that I have been drawn by the bright future promised by smart bulbs. By their nature, in order to retain access to their smart functionality they need to be ‘on’ even if they are not shining. This presents a problem when faced with several decades of habit of flicking the power switch when you walk in to and out of a room. Being ‘smart’ you can voice control them using Alexa, but that has some faintly annoying lag and that is even if she understands you the first time. Plus, shouting “you damn well know what I meant, Alexa!” to turn off the bedside light can be disruptive to one’s sleeping partner. So this is about the start of my quest to find another way.…
Read more

Design Meet Up Hull

Two weeks ago, I went along to the second Design Meetup in Hull City Centre designed to unite freelancers, local businesses and industry leaders to encourage good practices in design, share ideas and get together with likeminded creatives in the local area. Our Speaker Our talk was led Sophie Ottaway, a user experience consultant who’s worked with different branches of Government and who told us about the principles that they use in design, what works well but also areas that could be improved. We covered the perception of UX design and common misconceptions about what UX actually is, it’s not just a consideration of how a user interacts and then UI, it’s the full user journey and should start way before any kind of planning for the project, as it’s important to understand who your users are, what they want from you and how you can make this interaction as slick as possible. This is used all through GDS, like naming services verbs to go from ‘Renew your passport’ instead of ‘Fill out a passport LS01 form’ to make the users interaction quicker and more frictionless. Sophie told us about better ways to research too, and while companies can throw thousands of pounds at a market research company, if you’ve got the time you can often get better data and a more representative view by going out yourself and meeting people - and going out on guerilla research to meet your users in person can both save money and get more useful information. We wrapped the talk with an overview of the importance of metrics and how Google Analytics and hotjar can be especially important in designing products by seeing what users are drawn to most with heatmaps, and how if analysed properly data can help you make your service even better. We were also reminded it’s important to remember your service in context; with a real world example Sophie told us that to offer a rarely used service in Welsh, it would cost less to send an employee out in taxi accross the country to help the user complete the form each time they needed than rebuild it, without this early research the product could’ve been built when it’s neither needed or financially viable. Getting involved After a pizza and beer break, we formed into squads of 4 and were tasked with applying the principles that we learned in the session to a real life project and critical services, given the example of NHS 111 and how we’d transform it to a digital service for non-emergencies. Of course, as an agile task there had to be post it notes involved! We split our board into categories looking at potential users, research, how to prototype and how to test and evaluate if we’ve been successful. It was a really good task that got us thinking and a hands on conclusion for the night, thanks to Sophie for presenting! …
Read more