{"id":650,"date":"2019-08-02T07:08:47","date_gmt":"2019-08-02T07:08:47","guid":{"rendered":"https:\/\/www.southampton.ac.uk\/blog\/digitalteam\/?p=650"},"modified":"2019-08-03T10:25:06","modified_gmt":"2019-08-03T10:25:06","slug":"a-year-in-four-months-part-ii-the-digital-building-blocks","status":"publish","type":"post","link":"https:\/\/www.southampton.ac.uk\/blog\/digitalteam\/2019\/08\/02\/a-year-in-four-months-part-ii-the-digital-building-blocks\/","title":{"rendered":"A year in four months &#8211; Part II &#8211; The digital building blocks"},"content":{"rendered":"<p><span style=\"font-weight: 400\">Digital platforms should provide reusable building blocks to deliver common services.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">There are more common service types than you\u2019d imagine across an organisation as large as ours. We call these \u2018design patterns\u2019 and they enable us to create a consistent approach to how we design, build, test and recycle technical solutions effectively and efficiently. Things like applying for a programme, booking for events, finding a person, or a facility, and receiving notifications from us.<\/span><\/p>\n<p><span style=\"font-weight: 400\">We are taking a whole-university approach to digital platforms so the common services which are delivered to people are more consistent and easier to use.<\/span><\/p>\n<p><span style=\"font-weight: 400\">And in business terms &#8211; platforms offer savings, encourage collaboration and innovation, efficiency and responsiveness. But what they are really about is <\/span><strong><i>delivering a better experience for the people who use university services<\/i><\/strong><span style=\"font-weight: 400\"> &#8211; an experience which is consistent, simple and makes it easy to get things done.<\/span><\/p>\n<p><i><span style=\"font-weight: 400\">Still with me?<\/span><\/i><b> &#x1f609;<\/b><\/p>\n<p><span style=\"font-weight: 400\">As our new undergraduate course pages are about to go live, our purpose is to create a new and improved product. But it is also an opportunity to do something clever &#8211; \u2018the OneWeb way&#8217;.<\/span><\/p>\n<h3><b>What is the OneWeb way?<\/b><\/h3>\n<p><span style=\"font-weight: 400\">When we first started redeveloping a new product, we knew we had to practice what we preach: we need to follow our own best practice advice and guides, but also to live up to the vision of OneWeb which is centred around innovation and agility.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Part of this work was to assess new infrastructure that will provide solid security as well as be nimble enough to quickly adapt to the changing needs of our users and meet their demands faster.\u00a0<\/span><\/p>\n<h3><b>What we have done<\/b><\/h3>\n<p><span style=\"font-weight: 400\">Undergraduate course pages are the meeting point for many different sources of data at the university. Some of this is descriptive content, some is driven by entry requirement, programme structure and other details. <\/span><\/p>\n<p><span style=\"font-weight: 400\">Previously that would have been a case of manually building and entering information &#8216;by hand&#8217; into web pages. But this was an opportunity to take a different approach. We combined the many data points of the University into a single consumable application programming interface (API) service via a series of microservices. We call this service <\/span><a href=\"https:\/\/en.wikipedia.org\/wiki\/Hydra\"><span style=\"font-weight: 400\">Hydra<\/span><\/a><span style=\"font-weight: 400\">\u00a0based on a many-headed serpent in Greek mythology.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">We also created \u201c<\/span><a href=\"https:\/\/en.wikipedia.org\/wiki\/Paperboy_(video_game)\"><span style=\"font-weight: 400\">Paperboy<\/span><\/a><span style=\"font-weight: 400\">\u201d &#8211; this is a new page delivery service that prioritises page render and delivery speeds.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-655\" src=\"https:\/\/www.southampton.ac.uk\/blog\/wp-content\/uploads\/sites\/27\/2019\/08\/Image-from-iOS-e1564692655234.png\" alt=\"An early iteration of a system diagram - drawn in a meeting via the medium of MS Paint\" width=\"600\" height=\"517\" srcset=\"https:\/\/www.southampton.ac.uk\/blog\/wp-content\/uploads\/sites\/27\/2019\/08\/Image-from-iOS-e1564692655234.png 707w, https:\/\/www.southampton.ac.uk\/blog\/wp-content\/uploads\/sites\/27\/2019\/08\/Image-from-iOS-e1564692655234-300x258.png 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<p><span style=\"font-size: 12pt\">An early system diagram, drawn in a meeting via the medium of MS Paint. <span class=\"emoji\">&#x1f644;<\/span><\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-660\" src=\"https:\/\/www.southampton.ac.uk\/blog\/wp-content\/uploads\/sites\/27\/2019\/08\/oneweb-service-diagram.jpg\" alt=\"\" width=\"600\" height=\"275\" srcset=\"https:\/\/www.southampton.ac.uk\/blog\/wp-content\/uploads\/sites\/27\/2019\/08\/oneweb-service-diagram.jpg 670w, https:\/\/www.southampton.ac.uk\/blog\/wp-content\/uploads\/sites\/27\/2019\/08\/oneweb-service-diagram-300x137.jpg 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><br \/>\n<span style=\"font-size: 12pt\">A more refined diagram of the microservice infrastructure used to create undergraduate course pages.<\/span><\/p>\n<h4><b>What does it mean?\u00a0<\/b><\/h4>\n<p><span style=\"font-weight: 400\">In plain English and away from our geeky terms (&#x1f913;), microservices are a software development technique that allows high scalability. It means that demanding services can be deployed using smaller, more flexible, services in multiple servers to enhance performance while minimising the impact of other services. This is hard to achieve with a single, large monolithic service &#8211; such as a large single content management system (CMS) like SitePublisher.\u00a0\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">It also means that Paperboy allows us to deliver pages rapidly to a global audience (pages literally load quicker); allowing improved search engine rankings and more importantly, forging a better brand experience.<\/span><\/p>\n<h4><b>Focus on your services, not your servers<\/b><\/h4>\n<p><span style=\"font-weight: 400\">After much consideration, we also adopted a cloud platform to build, host and run OneWeb services. This infrastructure has been designed for scalable application deployment, and a DevOps platform for continuous integration and continuous deployment in line with agile methodology. We have also defined a defect management and release process designed by our quality assurance (QA) engineer via Atlassian JIRA Cloud to log, work upon, manage and report QA and release status.<\/span><\/p>\n<h3><b>What problem are we trying to solve?<\/b><\/h3>\n<p><span style=\"font-weight: 400\">As mentioned above, our processes, organisation, applications and infrastructure should be nimble enough to swiftly adapt to changing user needs and meet their demands faster.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">We also know that like many other complex organisations, our university has a significant problem with duplicate and erroneous data.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Our current web content management system (SitePublisher), although robust, is largely overburdened by surplus features and has become bloated. This bloat makes rapid development difficult and distracts from the simple need to deliver webpages at speed.<\/span><\/p>\n<h3><b>What can be done about it?<\/b><\/h3>\n<p><span style=\"font-weight: 400\">We can lift content-that-is-data (such as fees, or admission information) away from marketing information creating a single point of truth for information. Paperboy is a lightweight system that focuses on page delivery and nothing more. It means that it allows performance to be the &#8220;entire picture&#8221; and returning developer agility.<\/span><\/p>\n<p><span style=\"font-weight: 400\">It also means that end-to-end applications are built-in months, rather than years. Because we need to move fast, we must deliver new business capabilities in days, not weeks. We must also provision and scale our system resources. That requires a big change to how we do things, both to build future-proof applications at scale, and to change our culture. We\u2019ll do the latter by building an inclusive multi-disciplinary team based on function,\u00a0 not department. This ties in beautifully with one of our principles &#8211;<\/span><b> \u201cfix? Not fight\u201d<\/b><span style=\"font-weight: 400\">.\u00a0<\/span><\/p>\n<h3><b>Why this is important<\/b><\/h3>\n<p><span style=\"font-weight: 400\">From a content point of view, separation and curation of data are essential to equalise the information we present as an institution. This separation also allows content writers to focus on marketing the courses without the need to collect, confirm and sanitise data that is held separately.<\/span><\/p>\n<p><span style=\"font-weight: 400\">We must be at the forefront of delivering a user-centric, omnichannel digital experience where users can find open, precise and up-to-date information about our university, be inspired, engage and enrol. Inspired users become evangelists for our institution, giving us a clear advantage over our competition.<\/span><\/p>\n<h3><b>What else have we learned<\/b><\/h3>\n<h4><b>Good data means good products!\u00a0<\/b><\/h4>\n<p><span style=\"font-weight: 400\">After probing the University&#8217;s data repositories, we learned that as an institution we need better ways to store and maintain the data we hold. The good news is that there is a separate project underway, which OneWeb will join up with, for data information.\u00a0<\/span><\/p>\n<h4><b>Less is more<\/b><\/h4>\n<p><span style=\"font-weight: 400\">Another important learning point for us all is not to be intimidated when replacing an extensive system like SitePublisher with a simple application that&#8217;s a few hundred lines of code &#8211; more often than not, less is more.<\/span><\/p>\n<h4><b>New approaches give us a competitive advantage<\/b><\/h4>\n<p><span style=\"font-weight: 400\">We also trying new technologies and methodologies to give the University a competitive advantage and be able to compete in a crowded market. But as we all know, change is messy, and delivery can be messier. So challenging the status quo, adapting to new ways of thinking and working, and doing it all quickly is no easy thing!\u00a0<\/span><\/p>\n<h4><b>What are the next steps<\/b><\/h4>\n<p><span style=\"font-weight: 400\">We will provide better, more sustainable data warehouses and interfaces all in collaboration with iSolutions. We will also be iterating and improving our data API service.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">We will improve, iterate and in some places replace parts of our page delivery system, Paperboy, to provide better longevity and adoption.<\/span><\/p>\n<p><span style=\"font-weight: 400\">And we&#8217;ll continue to deliver products based on our roadmap and leverage the platform to increase user engagement by means of machine learning, artificial intelligence, cognitive services based on the needs of our users and testing.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">We are only scratching the surface of what technology can deliver for our University.<\/span><\/p>\n<p><b>Thank you #1 &#x1f64f;<\/b><\/p>\n<p><span style=\"font-weight: 400\">I\u2019d like to thank Jon Reader and Madhu Santhanam for their epic support when writing this article.<\/span><\/p>\n<p><b>Thank you #2 &#x1f44f;<\/b><\/p>\n<p><span style=\"font-weight: 400\">Thanks go to all colleagues who worked hard and collaborated with us to help us move at speed so we can launch on time. Especially iSolutions folks!\u00a0\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">As we launch our first services, we will continue to undertake testing and research where we can, and respond to feedback on our site, making improvements to meet user needs and improve functionality. <\/span><\/p>\n<p><span style=\"font-weight: 400\">&#x1f449;\u00a0If you have any feedback, or would like more information on what we did, how or why &#8211; get in touch at <\/span><a href=\"mailto:J.D.Lineker@southampton.ac.uk\"><span style=\"font-weight: 400\">J.D.Lineker@southampton.ac.uk<\/span><\/a><span style=\"font-weight: 400\">.\u00a0 <\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Digital platforms should provide reusable building blocks to deliver common services.\u00a0 There are more common service types than you\u2019d imagine across an organisation as large as ours. We call these \u2018design patterns\u2019 and they enable us to create a consistent approach to how we design, build, test and recycle technical solutions effectively and efficiently. Things [&hellip;]<\/p>\n","protected":false},"author":213,"featured_media":660,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"footnotes":""},"categories":[15,4,17,2],"tags":[],"class_list":["post-650","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-agile","category-courses","category-design","category-oneweb"],"jetpack_featured_media_url":"https:\/\/www.southampton.ac.uk\/blog\/wp-content\/uploads\/sites\/27\/2019\/08\/oneweb-service-diagram.jpg","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/paLsBb-au","_links":{"self":[{"href":"https:\/\/www.southampton.ac.uk\/blog\/digitalteam\/wp-json\/wp\/v2\/posts\/650","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.southampton.ac.uk\/blog\/digitalteam\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.southampton.ac.uk\/blog\/digitalteam\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.southampton.ac.uk\/blog\/digitalteam\/wp-json\/wp\/v2\/users\/213"}],"replies":[{"embeddable":true,"href":"https:\/\/www.southampton.ac.uk\/blog\/digitalteam\/wp-json\/wp\/v2\/comments?post=650"}],"version-history":[{"count":19,"href":"https:\/\/www.southampton.ac.uk\/blog\/digitalteam\/wp-json\/wp\/v2\/posts\/650\/revisions"}],"predecessor-version":[{"id":674,"href":"https:\/\/www.southampton.ac.uk\/blog\/digitalteam\/wp-json\/wp\/v2\/posts\/650\/revisions\/674"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.southampton.ac.uk\/blog\/digitalteam\/wp-json\/wp\/v2\/media\/660"}],"wp:attachment":[{"href":"https:\/\/www.southampton.ac.uk\/blog\/digitalteam\/wp-json\/wp\/v2\/media?parent=650"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.southampton.ac.uk\/blog\/digitalteam\/wp-json\/wp\/v2\/categories?post=650"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.southampton.ac.uk\/blog\/digitalteam\/wp-json\/wp\/v2\/tags?post=650"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}