You're still watching Waze. On 9th January every year, International Choreographers Day is celebrated. The significance of International Choreographers Day lies in its recognition and celebration of the creative visionaries who bring dance to life. This global celebration honours the long history of choreography and recognises its origin in the prehistoric artistic manifestations of many different cultures. So it's all about dance today. The cafes and co-op of the world. These are the types of professions I think that as our entertainment industry has boomed, there are now more opportunities. Because I think in the 80s, so if you said you were a choreographer, were you teaching for Jesus as how to shake Bobo Bobo? I mean, I guess they didn't just make an industry out of it. But if you see it, it has grown obviously and if you see the recent music videos. No, we have it completely. When you search on Instagram, you find lots of these types of choreographers. What's the lady that was on Big Brother? What's the light-skinned lady? She dances all the time on liquorice. There's tons of them out there and I think they're doing a great job The quality of our music videos, the quality of our entertainment. It's really improved. I think this December, everybody had some dancers on stage. I didn't go for it but I watched via Instagram. We all live by carers. It's so nice how you can actually understand. You don't have to shout out too much. Everybody is posting per second. I mean, you're just seeing the performances. That's what happens. But what did you find personally? I think it's over the weekend. Taylor Savage was hanging out with Sofia Mumudu. I think it's her name. She's Davido's baby mama. The mother for her baby. So Davido started telling her, why are you hanging out with Sofia? To pick you up on friends. And threatening her. She wrote to the commissioner of police that I'm just putting a disclaimer out there. I actually didn't know it was that serious. She was like, if anything happens to me you just know that this is what's going on. But they're tight now. Her son and Davido is in the other way around. She's the one that has the son, Jam Jam. They both have his enemies. So if he's not... Yes. I mean, the threat fits much. That she would go to the commissioner of police.  Yeah, regardless of why can't you just leave amicably? Celebrity troubles. Well, for those of you that have followed the Nigeria celebrity scene, if you so leave me, even like you start going to be out of business. Fair. Anyway. Yeah. It's interesting how these things play out. But I mean, it makes for, what's the word now? It keeps the industry thriving. So people want to be celebs. Whether you're coming in to select them for music or movies or the glowing world of Big Brother. Everybody shines. We give them a side of it too because that's also a booming industry actually. Yeah. Whichever way you come into it, everybody is fighting to stay relevant. So this fight, tomorrow now, you will see Davido and Tewa somewhere. Everybody, the netizens and the internet in-laws, social media in-laws would have abused each other. Yeah. Big sides. And one day they'll be there sipping their drinks together. It's so wonderful. It's so fantastic. But anyway. We wish them all the very best in their fighting. Everybody stay safe.  Please. Please. Not worth it. Two very talented people, please. Let's all make music and not hope. Yeah. I think today, the topic that we're talking about is another very, very important topic and we can't wait to jump right into it. So let's take a quick break. And when we come back, we'll get into the topic for today.


So today I'm going to be showing you how I make my smothered chicken now disclaimer even though I am a lifestyle slash natural hair youtuber one of my most popular videos is actually for Smothered beef that video has well over 50,000 hits. I think at this point So I figured I haven't cooked smothered chicken in a while I might as well show you excuse the background if you hear someone So I'm gonna go ahead and show you guys some ingredients in here on my seasonings I have salt pepper paprika onion powder garlic powder and some chicken bouillon Everything will be listed below in the description box as far as vegetables go I have half of an onion chopped up two carrots two celery sticks Here is my flour that I've added onion powder garlic powder Basically the same seasonings with the exception of salt okay And the reason for this is again because of the chicken bouillon I did however and here is my chicken I did however add a little bit of salt to this but again the same seasonings You want to layer your seasonings these are um chicken thighs and drums but this So right now I'm testing to see if my oil is ready with a few drops of flour And I'm placing the chicken in away from me so that it won't splatter in front of me Okay, so this is my chicken again just dipping the chicken in the flour And now I'm just making sure that it's cooked evenly by turning it every so often This is going to take about 20 minutes to fry up And you don't want to overcrowd your pan when you're frying So I had to cook two batches of this and then I transferred over to a larger cast iron skillet Look look people in the country love the hum when they cook Here is my fried chicken all fried now what you want to do is reserve about two tablespoons of the flour that you use to uh basically batter your chicken with because what we're going to do now is make a roux okay and the roux basically is flour oil mixture you want to cook your roux for several minutes you don't want to burn it all right and then once the roux is going I'm going to pour in about I'm eyeballing this one and a half cups maybe two cups y'all of um chicken stock you don't have to use chicken stock you use water but make sure And here I am making the roux again whisking this up um my skillet is on medium hot heat I'm putting in my vegetables and now I'm going to slowly add the chicken stock and mix up the veggies and everything and as it gets thicker slowly add more chicken stock I want to also add that I ended up pouring in between one to one and well about one and a half cups of water you guys I'm an eyeball cook I'm a country cook so it's really hard for me to explain this because I cook by sight by smell anyway um so here are my vegetables here I'm making sure I'm stirring everything up I am going to add a few more seasonings to the gravy mixture onion powder garlic powder that you'll see here in a second do not add any more salt okay you definitely don't want to add any more salt because that chicken bouillon has salt in it unless you're using sodium-free chicken bouillon um again this is garlic powder excuse that um and then of course the flour had a little bit of salt and I believe the chicken had a little bit of salt um so yeah you don't want to add too much sodium so anyway adding a few more seasonings like I said a little bit more pepper you can also pour milk in this if you wanted to to make it creamier um I ended up making a pan of cornbread to go on the side of this so yeah this is my cornbread this is just jiffy box cornbread I'm not not even going to front like I make this from scratch so at this point my gravy has been simmering for about 10 minutes now I do want to say that where I'm from we don't use carrots or celery we normally just do onions that is it okay so now I'm going to place the chicken in um and this is going to simmer for another five excuse me another 20 minutes actually so yeah I'm originally from east Texas and we don't add carrots or celery we don't even do chicken bouillon look as long as your food is well seasoned you don't have to do all that if you don't have it baby you don't have to add it but I did because I had it on hand and it just makes it really good in my opinion so all right now um again this is the larger cast cast iron skillet so I can add all the chicken that I fried up and you want to make sure that you also turn the chicken over every so often so that it doesn't stick to the pan and add more water as needed so here is my finished chicken now you do want to simmer this um this is a little too high quite frankly so I am going to turn the eye down here is my pot of rice and here is my plate thank you all so much for watching take care bye


Yeah, team Guyana is the focus of today's career. To rewind, the team showed great promise tallying eight medals in Grenada consisting of four gold, two silver and two bronze. Tiana Springer and Malachi Austin won their respective girls and boys under 2400 meter titles. Athalia Hingson took gold in the under 17 girls 100 meters while the team of Springer, Austin, Narissa MacPherson and Nielsen Gill spent to a championship record three minutes 23.51 seconds to cut the mixed relay title. Joining us on the phone to discuss the team's performance and Guyana's bid to host the 2026 Corripto Games is head coach Moses Pantlis. Moses, welcome to the Sports Mag Zone. It is a pleasure to have you this afternoon. I first want to get from you how you feel about Guyana's performance at the Corripto Games. My pleasure. Good evening. And you know, it's a pleasure having me here in Sports Mags. Again, it's overwhelming feelings for know that you know that, you know, where we come in, where we come from and where we are today, we could have gone to the 54th Corripto in Grenada and done so well as. Yeah, for sure. Without a doubt, I want to make the point though that Guyana has been doing well at the Corripto Games for a number of years now. And I took the liberty of having a look at how well you've done in recent editions of the Corripto Games. So 2017, you had eight medals, including four gold, 2018, nine medals, just one gold medal in 2018, 2019, 10 medals, four gold medals there, 2022, seven medals, two gold, 2023, eight medals, three gold medals, and then this year. So it's not as if 2024 just came out of nowhere. It is consistent with what you have been producing for a number of years now. Why do you think though the reaction has been the way it has been for 2024? I think, you know, presently, those years that you know, coaches have been realized in the time we have the potential of athletes, you know, and we've been coming together much more together as coaches and putting in the work, you know, not only individually, but collectively, you know, we have been talking with each other as coaches, knowing that if you have a good athlete in store, you know, you're asking for advice, what to do, what not to do, how to get his athletes to prepare for when these meets come together, you know. So I think one of the important things presently is that coaches are bonding together more than before. So with that, you know, our results will show much better than in the previous time. Yeah, with that in mind as well though, and given the consistency I just outlined in terms of what Guyana has been doing at the Carifter Games, what do you think you need to do as a nation to make the next step? So you have been consistently seven to 10 medals since 2017. As I pointed out, how do you get to 20 and 30 and maybe even 40? How do you get to 10 gold medals instead of just a four? Or is that not the focus of the program? The program is to produce more high quality athletes like the Tiana Springers, like the Malachi Austins, like the Athalia Hingsons. Okay. I think we're still in the building process. We keep building from 2017 to 2024. Resource is one of the most important things and I think for the past couple years, the government have been stepping on board in a small way and they're building. So I think in the next two, three years, as the government have continued to pour resources into the track and field world or into the AEG, I think we can get far better results in times to come. As I said before, we're working together more than before. So as long as the corporate society, business places come together and see the foot of Guyana and start pouring things finance into athletes progression, I think we can get a better results coming next year in Trinidad and even in Guyana, if we get a chance to come to the Austin in 2026, I think in all the time, Guyana will be a force to reckon with when it comes to crypto. The key issue, Moses, for Caribbean sports fans is the issue of infrastructure and the sort of investment that is put placed on facilities. Can you confirm that the Leonora synthetic track that was established in 2015 was the first synthetic track that Guyana had for track and field athletes to prepare on? Yes, it is. Leonora is a force synthetic track, but presently they're working on two more. One is in Linden and one is in Barbies. The one in Linden have already laid and they're preparing it stand-wise. So we will be at least blessed with three tracks in the near future. Yes. So I asked you that to ask you this because I suspect that with the synthetic track established in 2015, it provided for athletes an upgrade in facility and probably I would suspect some inspiration and motivation to advance the quality of the performances. Would you connect the rising Guyana's track and field in the past decade to the fact that you're known nine years in from your first synthetic track? Yeah, we'll say yes. Because we all know that the synthetic track is very important for athletes to move forward. Despite not trading on it on a daily basis, when you're keeping competition, it's very important and it's very better than the grass to keep competition wise so you can really get a good feeling of what a synthetic track is when you go outside of capacity. So I think our synthetic track, Leonora, is very, very important and is important for the movement forward about athletes in Guyana presently. Yeah, because I know that many of the top Guyanese athletes prior to this generation in the crypto games, a lot of them were long distance stars. You had a Cleveland, Brown was his name? Cleveland Four. Yeah, and those athletes don't necessarily need synthetic tracks. They just run all over the place in hills and valleys and that's what makes them strong from the stamina perspective. So I remember him winning 5000 meters races regularly and a couple of other Guyanese who were strong in the distance races as well. I saw a report in one of the newspapers today, Moses, about the projection for your team going to the world on the 20 in Lima, Peru in late August. But there was a provisor mentioned there about funds. It was dependent on the funds because the size of the team that you'd want to send may not come through if it is that the funds aren't there. Can you expand on that a bit? I don't know much, but what I can say with the projection from the crypto team, I think that we will find funds for the 2020 team. The crypto team has done us so much proud. So we don't want to go back after such a good performance and going to a next high level. I don't think we will have far too. But despite the news might say that I know when that time comes, we will feel every single one will qualify for Corrifto. For Corrifto that qualify for the 2020 games will be in queue. I can be sure of it. I hope you're right. And we wanted to mention quickly before you go that I thought your 400 meter wins by Tiana Springer and Malachi Austin displayed in both victories a lot of strategic sense in how they delivered their races. They were very calm. They weren't flustered when others went fast for the first 200 meters. And in both instances, I want to credit those two athletes for how well they measured their races. And from the Sportsmax zone, we want to say congratulations again, Moses. And good on your athletes who did so well in Grenada. All right. Thank you very much. Oh, stay me. And a bless. Yeah. And Moses, just one quick one before you go in 15 seconds. If you can just tell us how difficult it was to make the decision to withdraw Tiana Springer from the 200 final because it was getting to a stage where I was wondering if she was running too much. She had gone 400 heats and finals. She 200 semifinals mixed four by four. And then the 200 finals to come plus she would likely run the girls four by four as well. But then you withdrew her ahead of the 200 final. How tough was that a decision to make? I must say it was a very tough decision as a management team.  The five persons who were on the management team. And we sit and we look at it very carefully. And, you know, the physio is one person who share a very good light in our. So, you know, in the best interest of all moving forward, you know, we say, all right, this is it. And, you know, we said that, you know, she will not be taking part in the 200. And that word come from the management team along with the physio. Yeah. All right. Thanks very much, Moses. Pleasure speaking with you and all the best going forward. And that we look forward to seeing more of Guyana in track and field, not just at Carrifta, but all the major junior events and at the senior level as well. Take care. Okay. Thanks. You're welcome. All right. We'll be back with more on this course, Mike Zoome.


Hello everyone, welcome, can you hear me, okay? Awesome, so a little bit about me, just a little bit, I'm Reb Cwok on GitHub, Twitter and most other places, I'm a software developer at Ecometrica, we're here in Edinburgh, we are hiring but only in Montreal at the moment, but if you're interested then come talk to me later. I'm also an ex-psychologist, I haven't spoken at a conference since my academic days which were a long time ago, so bear with me if I'm a little bit rusty. So this talks about how we as an individual company went about upgrading a large established Python 2.7 code base to Python 3.6. I'll talk about some of the available tools that are out there to help you, I'll talk a bit about our experience and our general approach and some of the gotchas and pitfalls that we encountered along the way. This was only our approach, it's certainly not the only way to do it, by no means telling you that it's the right way to go about it and I'm not going to attempt to give you a single best way of approaching the problem. Instead I just hope to give you a useful case study and share with you some of the lessons that we learnt. So why did we and why should you even want to upgrade to Python 3? Well the main reason obviously is that the deadline for dropping Python 2.7 support is approaching pretty fast, January 2020, so less than a year and a half away now. Major projects are also either dropping or planning to drop support for Python 2, including Django, NumPy, SciPy, Pandas, but there are lots of others. So in the not too far off future you're going to be stuck with old versions that are only being bug-fixed if you're lucky and you don't get any new features. So in terms of motivation to upgrade, that's the stick. What's the carrot? Why should you want to embrace Python 3 rather than just grumbling about how annoying it is you're being pushed into it? That word and has filled at least another few talks, so I'm just going to touch on a few highlights here. I've got some references at the end of the slides that go into more detail if you're interested in that. So first is that Unicode thing. So Python 3 gets rid of the overloaded string type where string objects can represent either textual or binary data. This link here is a nice description of how it came about why Python 3 largely exists to fix that. In Python 3, string is always a text string and it's Unicode by default. There's some better iterations. So in Python 2 you have a lot of pairs of functions that do the same thing except that one's eager and one's lazy. Python 3 eliminates all of the lazy versions and instead makes everything lazy. So everything's an iterator. Iterating over them works exactly the same way, but it no longer creates an intermediate list, so it makes it harder to write code that accidentally uses up lots of memory. We also have some restrictions on comparators, so you now can't do nonsense comparisons between different types. Incidentally, foo is greater than four according to Python 2. We get some advanced unpacking. I won't go into detail on this, but in Python 3 you get the nice star notation for unpacking both iterables and especially dictionaries. So this one I came across quite recently, but it's a nice way of making new dictionaries from existing ones. We get the option of keyword only arguments in Python 3. So this is a function with two positional and one keyword arguments. This is how we would do it in Python 2. And any of these three methods of calling it would be valid, but they might not do what you expected them to. You can use the same definition in Python 3, but you can optionally add this star argument, and that means that the keyword argument that follows it has to be called by name. So now only that first method of calling it is valid. So when you use keyword only arguments, you can avoid accidentally passing too many arguments to a function and then having them misinterpreted as the keyword argument. F strings are awesome, and are totally the reason to go all the way to Python 3.6, and the reason that we did go to Python 3.6. As well as the just variable substitution, they can contain any Python expressions, including method and function calls. They're more reasonable, they're more concise, they're less printer error, and they're also faster than other ways of formatting strings. And then there's async.io, which is the new concurrency module that's been introduced in Python 3.4. I'm not going to say much more than that about it, because I don't know a lot more than that about it, but I'm told it's very cool. So a little bit about the project that we're dealing with. So Ecometrica's mapping platform is a big Django project that does some cool stuff with GIS data, and some of my colleagues will tell you more about that if you would like to know. It works with GDAL and other underlying GIS libraries to import and transform mapping data sets, display areas of interest on an interactive map interface, and run user defined queries across multiple data layers. It's about eight years old. It consists of around 70,000 lines of Python code in the core project. And it has a bunch of dependencies, including some of the typically temperamental GIS ones. This is what it looks like. We're looking at national parks here in the Amazon highlighted in purple. So we can upload and show display layers like this one, which shows land cover in 2010. You can explore individual areas of interest and have a look at results of some user defined questions based on information from raster data sets like carbon density, biomass within an area, or how land use has changed over time, and there's a number of ways that those can be displayed.  I'll take a look at a few of them, but this isn't by any means an exhaustive list. There's lots of help out there. These are just some of the ones that we used. So first up, you want to upgrade your project. That's all well and good. But what about all your dependencies? Will they still work when you upgrade? And there's a quick way to do a first check, and that's the can I use Python 3 package, which does what it says on the tin. So you pip install it, and then you just run it on your dependencies from the command line in a variety of different ways. Can I use Python 3? You realise on projects being classified on PyPI is supporting at least one version of Python 3. So it's not perfect. It depends on you saying that you're Python 3 compatible. Otherwise it won't find it. So next, there's a tool called 2-3, which I think most people will have heard about. It's usually installed with the Python interpreter as a script, and it reads Python 2 code and applies a series of fixes to transform it into valid Python 3 code. So here is an example of a little Python 2.7 program that just takes some input from the command line and says hello to you. Welcome to Europe Python, whatever year you want. So we just run it from the command line with a list of files or directories to transform. So 2-3, welcome.py, and 2-3 outputs a diff of the fixes that it's going to make for Python 3. So you can see here it's identified print statements, and the raw input that changes to input in Python 3, and it also picked up the change to the exception syntax. So that's a useful first start for us. Linting can also help you. So PyLint has a Py3K flag, which will highlight Python 3 incompatible code. So when you run it on our little example program, it prints out a list of identified Python 3 issues. Note that it identified this one, which 2-3 didn't. So it's neither of them are perfect, and you'd still need to review your code, but they can help. So it's briefly a side note about supporting Python 2 and 3. So our main project, so our mapping project, is end user software. It doesn't need to support external developers, and we were happy to go Python 3 all the way with it, but we did have external dependencies, and those need to continue to support both Python 2 and 3. And there are tools to help you with that too. So future in 6 are libraries that provide utilities for writing Python 2 and 3 compatible code. Modernize is built on top of 2-3. It's used in a very similar way to 2-3, but it's more conservative. So it uses 6 to try and fix up code to be both Python 2 and 3 compatible rather than just changing it all to Python 3. Tox is helpful to let you run your tests with specific environments, so you can make sure that your tests are going to run under every version of Python that you plan to support. And the Python docs and Django docs also have a lot of useful information on porting to Python 3, but are still maintaining compatibility with Python 2. So going on to what we actually did. First things first, we needed Python 3 on our system. We were on Ubuntu 16.04. That ships with Python 3.5, but we wanted Python 3.6 because of strings. So there was a little bit more setup involved, but only a little bit. So we had to install these additional packages, but that was pretty much it. And other than that, we were using virtualMf with virtualMfrapper, so we just specify our Python 3 version when we create the virtualMf. And there really wasn't that much else that we had to change in our deployment process. That pretty much covered it. So the first thing that we really needed to do in terms of upgrading the code itself was some research. So you need to learn about the differences, the main differences between Python 2 and 3. The unicode issue is the one that everyone knows about, but there are lots of others, and it's worth reading up on the differences before you start. Python3porting.com has a free online book. It has guidance to porting to Python 3 and a pretty comprehensive description of the differences. And the Python Future Projects cheat sheet, which is here, is also a useful reference. So next we had a look at the project's test coverage. So we're going to use our unit test as a tool to help figure out whether our upgraded code is working. So it's important to have decent test coverage before we started. Ours could have been better, but it was respectable. So we didn't spend a lot of time improving the test coverage specifically for doing this process. So dependencies, this is the one that tends to put people off upgrading. So we want to use Python 3, but we rely on external dependencies, and dependency X, Y and Z doesn't support Python 3 yet, so we just give up until they do. And for quite a long while, that's as far as we got. We periodically checked the blocking requirements and just put stuff off until the list looked better. But by the end of last year, our list-dependent dependencies was looking kind of manageable. More and more packages are supporting Python 3. So this is the result when we ran, cannot use Python 3. It doesn't look so good. We've got 11 projects blocking our Python 3 upgrades. We had about 75 total in our requirements file, so it could have been worse, but still. But things start to look up a bit when we look at the list in a bit more detail. So three of these are things that we didn't use anymore, so we just took them out. Another four were, they showed up because they don't have Python versions identified in the classifiers on PyPI, so they weren't correctly identified by Can I Use Python 3, but they did all that Python 3 supported versions that we could upgrade to. There was Python Scrubber. We took that out too. That wasn't compatible, but it also wasn't a very active package, and it's a bit out of date, and there was another more up-to-date package we could replace it with that did the same thing and was compatible, so we did that instead. Django Migration Test Case. That one also wasn't compatible at the time, but hopefully someone had already made a PR to upgrade it, so we used that. Then we had YAS 3FS. YAS 3FS is a package for syncing your local files with S3. That did cause us some issues. It looked good to start with. There was a poor request supporting Python 3 that had been merged, but it turned out only to address a few fixes, so we added the remaining Python 3 support to that package. Then the last one on here, Django hashed file name storage. That's a library that we maintain at Ecometrica, so our bad for not upgrading it sooner. The same went for a couple of other dependencies that we installed from private repos, so we upgraded those ourselves. We maintained Python 2 compatibility for other users. We added CI and Tox to make sure that we're testing under multiple Python versions, and we keep our compatibility. In the end, we whittled this list down to only a few that really needed to put any significant effort into fixing up. Next was the exciting bit, fixing the code. Actually updating the code is quite a daunting process to start, because you know that your changes are going to be so widespread throughout the project. In this respect, it was nice to be working with the Django project where the code was mostly divided up nicely into Django apps. We worked app by app. The first thing we did was to run 2 to 3 on the entire app, keeping the backup files that 2 to 3 generates so that we could easily check back on the previous version of the code. Pretty much, we just accepted all the changes that it suggested, and then we ran the tests on just that app, fixed the code as necessary until the tests were passing, and committed the changes app by app, made things a little bit easier for code review. Then we ran Django, something invariably broke. We fixed it again until it ran properly. We ran the application so we could manually check the functionality of that app, and then we proceeded to the next app. That got our code mostly working, but the next step was to review it and refactor things. Here again, committing app by app was useful. It helped to keep things together. It also made it easier for other people to code review. My code reviews are actually in this room and will attest to the fact that it was still pretty horrible to do, but in the previous step, we also just fixed up code until the tests worked. Now, what we needed to do was to review the diffs more carefully, in particular, to fix up two to three's over-conservativeness. Two to three is designed to convert Python 2 code to be valid Python 3 code for any version of Python. In some cases, it may add extra code that you don't actually want. The main cases we found of this were converting new iterators to lists unnecessarily. Whether you need to convert to a list depends on your current use case, two to three tends to be over-conservative and wrap everything in list when it isn't necessarily needed. It will also sometimes wrap print statements with extra parentheses, especially if you've got print statements that have been expressed as functions already. There's also the specific case of is callable that was initially removed in Python 3 and reintroduced in Python 3.2, so it doesn't need to be replaced for newer Python versions, but two to three still does it. Then we did quite a lot of refactoring, so especially places where we've been doing manual byte to string conversions, we've sometimes got a bit convoluted because we've just done what was necessary to get tests to pass and get the app running. With a bit more attention, Python 3 generally allowed us to simplify things quite a lot, and then just as a warning, if you use from future imports unicode literals, it helps to keep your Python 2 and 3 compatibility, but it does sometimes introduce some sort of subtle issues. Python Future Project has quite a good review of the pros and cons of using that for two to three compatibility. Next up is linting. We didn't actually do this. I wish we had, but I didn't know about it and didn't discover it until later. It would have definitely avoided a few issues, but once your porting is done, you can run pylint with the Py3K flag, which will highlight some Python 3 incompatible codes that your tests might not have found, and then use the testing. We dedicated quite a lot of time to front-end manual testing. It's tedious, but it did find issues that our unit tests didn't, and it's also useful for us to have our GIS specialists who are familiar with the platform data review it, and make sure that process data sets look like they should and queries generated expected results. And then everything was going so well. We thought we were more or less done, and we ran into one final hurdle, which is this library called Gdalt MbTiles. So Gdalt MbTiles is a library that generates mapping tiles from georeference files, and lets you display them with a mapping library like Mapbox. It has some extra fiddliness around installing. We install it separately in our deployment steps. It's also minimally used in the mapping project. It's kind of used in a side one, so it slipped onto the radar when we were assessing dependencies and during our initial testing, and upgrading it turned out to be a mammoth task that I don't have time to go into. But just when we thought we were more or less done. So the moral of the story is check all your dependencies no matter where they're coming from. So there were a bunch of gotchas that we encountered, things that tripped us up along the way. Most of them were a result of lack of thoroughness in the first step when we should have been learning about the Python 2 to 3 differences, but some are maybe a little bit less immediately obvious, a little bit more obscure, not necessarily identified by things like 2 to 3. One is rounding. So the rounding strategies changed in Python 3. Python 2, it works the way you were taught at school. Exact halves are rounded away from 0.  In Python 3, that's changed and exact halves are rounded to the nearest even. This is bankers rounding. The advantage is supposed to be that it's unbiased, so it produces better results than with operations that involve rounding, whereas the old way is biased towards the upper value. But now rounding 2.5 will give you 2. 3.5 still gives you 4, but it may introduce bugs that you didn't necessarily expect. Exceptions. The exception.message no longer exists. Exceptions, if your tests don't actually check for every exception that you have, then you may miss them. This doesn't get picked up by 2 to 3. If you've got custom defined exceptions, they may have a message attribute. Django has some. So you kind of need to check anything that's not a core exception and find out whether the message attribute is valid or not. Hash. So in Python 3.3 and up, the inbuilt hash function uses a random seed for each Python process, and that means that hash returns different values in different Python processes. That was introduced to address the security vulnerability.  And in a few places, we were using hash on cash keys, which meant that whenever you had a new Python process, you didn't find your your cached items anymore. Pickle also turned out to be a problem. So objects that are pickled in Python 2 give you unicode errors when you try to unpickle them in Python 3. The pickle protocols also change. So you have 0 to 2 and Python 2 is 0 to 4 in Python 3. So if you need to load objects pickled in Python 2 and Python 3, you have to make sure you specify the right protocol. And if you're using Django Redis, that defaults to the latest protocol. So if you're using the default, it won't work in Python 3. Sorting and comparing things, I don't really have time to go through that much, but you now need to be using the same type in Python 3. You'll get errors if you don't. And it can sometimes give you some odd bugs, that you didn't expect. So this is just from a rough estimate of the git commits on the core mapping projects. So for lessons learned from this, well upgrading any project to Python 3 is going to be hard work. It doesn't have to be too painful. It went more smoothly than we expected really once we got started. If you're not quite ready to embark on your Python 3 upgrade yet, you can make your Python 2 code Python 3 compatible as much as possible. And in the more recent parts of the code base where we did this upgrading was much simpler. Being familiar with the changes is really useful. It also lets you know what new things you can take advantage of. 2 to 3 is really good. It's a fantastic tool, but it can only do so much, so you really need to review everything that it does. You can't rely on it to find everything. Tests to your friend. If your test suite covers all your major code paths, then you can be reasonably confident that your code is working. Check all your dependencies, not just the ones in your requirement file. And lastly, be prepared to spend some time upgrading third party libraries.  That's it for me. Thank you. There's some resources on things that I didn't go into in much detail, and I'll upload the slides later.


So I'm going to start with about a cup of water, hot water. I actually have a cup and two tablespoons. And then I've got two tablespoons of yeast. Do you heard that right? Two tablespoons, which is a lot, but for this recipe it works. And then I'm also going to add a quarter cup of sugar. These really are a little bit more of a sweet roll. Okay, and the last thing I'm going to add is about a third cup of vegetable oil. And we're just going to mix this all together until it kind of gets nice and bubbly. Okay, so now you're going to let this sit for about five minutes and you'll notice it starts to get frothy and really bubbly. That's when you know it's ready. Okay, so it's been five minutes and if you look in there it is all nice and bubbly. Okay, so the next few things that we're going to add is just a little bit of salt. I think I've got about half a teaspoon and then add one egg, which isn't super typical of roll recipes, but for this one, we need it to help it kind of rise and get fluffy. Okay, so from here we're going to add flour. So I'm going to start with two cups. I'm going to get the air out. So you want these to be nice and level cups. So kind of mix this dough and you're just going to watch it and see how it comes together. Still looking really doughy, so I'm going to go ahead and just add, I'm going to go by half cups now. Okay, so if you look at this dough, this dough is perfect. So this dough is super sticky, but I'm going to show you the trick that I use for rolling these rolls into balls. So all I do is I actually just spray my hands with some cooking spray, kind of rub it together, and then you can pull your dough out. Now we'll make it so it doesn't stick to your hands and make a big mess. So you can see here's my dough. What I'm going to do is I'm going to separate it into 12 equal portions. Now you're kind of going to eyeball it. They're not all going to be exactly perfect. Okay, so cut it in half, cut it into fourths, and then I'm going to cut each of these into three. This only makes 12 rolls. So it's perfect for like a small batch, or if you've got a smaller family, you could definitely freeze half of them and save them for another day. So there's my 12 portions. Obviously, you can kind of take from some and add to others if they're a little bit smaller.  Basically, all that I do is kind of just tuck everything behind until I get a nice round shape. Now you need to put these in a nice warm spot and let them rise for about 10 minutes. They don't have to double in size because they're still going to be growing in the oven, but let them rest for about 10 minutes. Then we're going to put them in the oven at 400 degrees and cook them from anywhere from 10 to 12 minutes. You just kind of want the tops to be a little bit golden brown. Okay, so 30 minutes later and the rolls are done. When I serve these rolls to my family, I love to serve them with butter, some honey, maybe some homemade jam. To get this recipe, be sure to check out 6sisterstuff.com.


So yeah, welcome. If you're wondering where you are, this is a panel discussing digital marketing and analytics Which not surprisingly is part of the content and digital marketing track Some it's gonna be a quick chat up here. So some quick introductions to get underway. So on the on the panel here We have Daniel Barthelamy I got that right who is a senior strategist senior digital strategist at media current, which is an agency specializing in drill Share a little I'll be old-fashioned. I'll go with women first Share a little director of user experience also a media current and the middle there is beyond Thompson Who is the digital experience director at image X media? My name is Jeff Burke. I'm the web development business partner at a government regulatory agency called technical safety BC and Vancouver BC so Jumping straight in I looked at the registration list for this session and we have quite a diverse range of Skills in the room. We have marketing people digital strategist contact managers communications people web managers and so on But my guess is most of you are involved in building and managing websites of various scales and and creating the content for that And so, you know some of the challenges The you're gonna have marrying design and creativity in order to make that website Good and make users love to visit All the while making sure it's done in a quick and efficient way. Am I right about that? Everybody's on that page good stuff so We'd Make sure we're sure you're all to make it a bit easier So what we're gonna do up here is discuss a bit more about how we're gonna we might do this and hopefully give you some tips and ideas For when you're actually tackling that same kind of those same kind of issues and challenges So I'll start with a question or two But if you have questions of your own, please don't hesitate to come up to the speaker the microphone at the start either during Our discussion or we're gonna leave a few minutes at the end as well. So I'm gonna start out with some questions and just to lead it off so because I'm gonna be like the the client of Talking to the the experts here. So that's my approach on it anyway. So my first question to the guys here is Where do you start when you're when you're going to start a new website or a new section of a website? What are the first things that you are gonna want to know so that you make that project a success? Anybody like to jump in there? Sharon a mic here The first thing that I always love doing and I'm kind of notorious for doing this I don't know if notorious is the right word, but I always ask a lot of why questions or questions to get at the why How how is what we're about to? Try to accomplish gonna impact the organizational goals at the highest level and then I try to work down to the weeds So what are the organization goals that we're trying to do? How does this line up with the overall organization strategy? And then making sure that you know, we have the context around the challenge So if anybody comes in myself included with kind of a preconceived Idea of like this should be the solution We kind of all get to check ourselves and say how does this align with the overall strategy? To make sure that we're not just coming in with an idea for a solution But we're really starting at the ground ground level One of the acronyms that I like to think about is called rope. It's a way to think through different questions So first I want to talk about results. I want to talk about what are we trying to accomplish? I want to talk about opportunities of what what's available for us to do the problems and then the execution How are we actually gonna going to do that? So that's kind of the framework that I initially start with and then Getting more into the weeds after that Yeah, so totally agree. Hopefully you can hear me There we go Totally agree. So, yeah, definitely understanding at the high level what you know, what's the rationale for this project? Why now? You know, what would outcomes look like? How can we actually measure? whether The effort that's being spent and the time that's being spent the money that's being spent on this project How we can actually understand whether there's been value that's been achieved is definitely critical the other one I think that you know, we try to do as much as possible. It's to try to you know, organize a print project as much as possible around actual feedback from from the users getting getting the actual customers and users into the process as much as possible and You know, obviously that's something that a lot of projects say and and you know try to achieve But some of the things we've seen have a lot of value It's really planning early for things like even getting the users into let's say the discovery process like the onsite workshops Even inviting them some of them to help kind of co-create some of the Journey maps or the personas those can be really powerful ways to get to get early buy-in to start to Lower the anxiety of people and to make sure that people feel that Okay, the the way that we're approaching this project And the way that we're conceiving of these features and solutions are already already being sort of we're hearing from the users directly that these are things that they respond well to and things that they want so obviously because Getting users involved in projects takes early planning usually on day one. You're already behind on that kind of planning You know just having a really good work back Understanding day-to-day and week-to-week how you're going to go about making sure that the business is being heard and that they have The business goals are in front of you all the time and that you're you know successfully kind of bringing in about some sort of validation Regularly not just one round of user testing But regularly bringing in validation to make sure that the things the business want are also desired by users and you have a good sort of Ben diagram where the goals that you've set up like what we talked about Are actually also running through the filter of whether this is actually something that is going to add value It's very important that to understand what your users goals are when they arrive at the website What are they there for where they look what do they want to achieve? When you understand that it'll give you a greater clarity of what your mission is You begin the project Thank you now The word personas was brought up just then And I'm sure everybody has a good understanding of personas. Can I see a raise of hands everybody? Okay, because we had a bit of a discussion before this session about the use of personas and I actually brought up The point that there's a guy called Jason fried who's or yeah Friday. Yes who started the The project management tool base camp and he said personas lead to a false sense of understanding at the deepest most critical levels so I just wanted to and Personally when I was first presented with some personas in fact by Bjorn I Was a little hesitant as to their validity and their usability So I just wanted to find out from the guys what their take was on personas How how much you can use them how much you rely on them and and how they fit in with the overall project structure It's always Jeff throwing a curve ball too Yeah, so I guess I can start on that one is is You know, I think personas can have a lot of value to help the organization that is using them and The project team in general just have sort of easy and friendly ways of talking about the users and What what the users try to achieve the pain points that are running into but like any tool they have limits I think if you treat them as the gospel and treat them as the thing that you always come back to every time and aren't a Aren't supplementing them with actual data So, you know, it is a very common situation where a persona will be written in a committee often in an onsite on day One or day two you kind of sketch them out on the board, you know using the sort of lean UX approach Which is has all piles of value to get ideas out and start start to get the project moving forward But if they stop there then in some ways not necessarily you failed But you probably aren't going as far as you could to really get buy-in and get a persona that's actually gonna add business value So I think Daniel we were talking earlier about this of just how The persona needs to be kind of a living breathing breathing thing that a isn't the only thing you're looking at You should also be doing how you know a good amount of original sort of user research competitive analysis and other other sort of ways of gaining insight But that also the persona should be Attitude and the persona should be evolving as you learn more about your business as you're talking to your sales folks as you're talking to the users and understanding exactly You know Exactly what users want from the site Whether these personas are actually the right the right way to split it whether the subpersonage might well looked at all those kinds of things Should shouldn't just stop in that initial onsite I see get you do the onsite and then you get the sort of project brief that shows you for personas It should always be so we're moving beyond that fairly limited effort In a previous role I led the marketing for an agency that I worked at and I'm a big advocate for personas I could probably talk about it for the rest of this time But I'll save you guys from that catch me later if you want to do that But one of the things that I looked at is we had personas that were basically handed to me and said here are their personas And I started just like peppering my team with a bunch of questions So tell me how does this person think and how does this person think and the way I was Approaching it is I want to know this person like they're my best friend, right? I want to know how they think I want to know I want to know how they would react in different situations. What are the challenges that they're facing? How can I help? better whatever it is that they're they're looking for and In order to have a strong relationship with someone you need to keep asking questions You need to keep learning about them. You're not just going to say I've asked you five questions So now I know everything about you you keep asking questions So what my process was as I was kind of managing personas I would anytime we had a new client come on board or a new even sales Prospect I would go and talk to the sales team and you don't get all the basic information. What are they looking for? What are they interested in? But then I would start asking questions about their personality because I wanted to know them more And then I would you know consume all of that information and then start kind of categorizing it and Trying to figure out how do those fit into our overall idea of who our personas are But keep it in mind just to reiterate one of the things that Bjorn said was it is just a tool so Shifting the the mentality of how you do personas to have something that works for your organization if you have You know a slide deck of six personas that were handed to you and you've never looked at it again That is obviously not a format that works for you. So finding one Finding a format or a process that works for you to gather and collect all that information that you can refer back to I think is one of the key points of making sure that you don't have that false sense of understanding Because you're continually asking questions. You're continually updating it and referring back to it For me that was a Google doc and I would just update it regularly if it's a slide deck That's awesome. If there's another tool that you use There are so many different tools out there, but making sure that when you see it as a tool and there's you know there's room for room for weaknesses in it, but also doing something that in a way that is going to be valuable to you and how your organization works I Really like the idea of Google Docs in general just to kind of as a living document somehow when you put something in a slide deck You might look it on Monday, and then look at it on a Monday two years from now Just the nature of static documents. So I totally agree with that Yeah, user personas are also very valuable when it comes to understanding what device types They're gonna be using to access your website You need to concentrate more on a mobile or a tablet because that user maybe accesses it while they're out in the Middle of a field somewhere or maybe they're at at a desktop computer because they're researching your site while they're at work So understanding the device and also the marketing channels that are being used to target them And maybe like as an email marketing campaign or as a social media. What are the best ways to reach those people? So Jeff yeah, so it's just about to ask any questions. So Big challenge I Hear you so Are they coming at it from a perspective of here's the feature of product X. Here's how it benefits User a is that kind of how they're formatted right now? Sure Are they open to conversations like can you ask them questions about tell me more about how you came to this Conclusion on this line about the persona Oh, yeah, would you be able to you know looking at the user paths or if you have it connected with the sales force or part-outer So to say this person bought it or bought whatever product you're selling Here's what they looked at. Can we have a conversation about help me understand? Maybe how this lines up with the personas? Here's what I'm seeing that they actually went through. Let's have a conversation about do we see any patterns or trends? Because it could be helpful The way I always tried to to get by and is figuring out how is it going to benefit them? Yeah, so if there's ways that you can say 40% of people before they buy product X are looking at these two blogs or are looking at this Let's figure out Why that pattern exists and maybe that's something that now that becomes a part of their lead generation or their Lead nurturing process where they're sending a specific case study or a specific blog or a specific page on the site Looking at maybe how they came to this site and what they're actually searching for that might help your conversation on Why they're why they're buying? Yeah, I like the idea of using data to like you mentioned Daniel I can also foresee maybe something even like an AB test or some sort of way that you can sort of run either AB or multivariate test that That may be tested either a value proposition or or whether the hypothesis that the Personas currently represent can actually match well against Either an alternative post this or additional data that you're hearing or you're getting for your customers again I guess we're similar points about just you know making the case with data and being able to show Show the product team that yeah, these personas are absolutely a great start There's there's great data here and maybe like we're talking earlier they can evolve and and be receptive and be sensitive to new data That's coming in. Yes The argument So in behavior data you're referring to like analytics that sort of thing That that is great, there's lots of great data from I keep maps great data from analytics software on mature, you know, Google likes whatever it might be Just my what I found personally is that data is great for showing us Problem areas weaknesses things to look at opportunities. It doesn't always tell us sort of why something's happening and it doesn't always tell us you know What when we're seeing like a problem or some sort of breakdown What what's causing that and what was the user's emotional state when they're when they're encountering that problem so Her son is up can be part of helping with that for sure Also, like, you know things that machines can't tell us yet. I'm sure they will next year It's just like, you know watching a user walk through your website Just something as simple as that like watching three or four users walk through your website Signing them some some common goals or talents and others and seeing, you know, whether the Hypothesis and hypotheses you formed through, you know, behavioral data are actually holding up over the That is you totally Yeah, and it may not be you're absolutely right So if you're including data as like qualitative quantitative in that then you're absolutely that's like to me personally That's by far the most valuable stuff whether a persona comes out of that or there's just like summary of Insightful quotes from from users or like a list of like patterns that you're hearing I think those all have value I don't think you have to choose one or the other if a persona isn't isn't resonating in your organization as long as the data You're looking at is actually showing you Really sort of high ROI information. I don't think it's necessary to have a persona. I still think it's valuable bit one quick thought on that I think Personas can look different depending on whatever organization and making sure that you're just including the valuable information It could be seen as a way to name a pattern So maybe there's three patterns through your website it could be You know Cheryl is pattern one and this is how they move through being able to do that Helps everyone have kind of a common language about how to address different decisions that need to be made. I think it something that we can fall into is You know looking googling what a persona is and making sure you're including all the same information that Everyone across the internet is doing But if it's not relevant to you, I don't see any purpose in including it Just making sure there's the value that you need out of them. Yeah, I know a lot of personas have like day in the life They have all these different categories. Sometimes it's just pain points and goals is really all you need to see From a design perspective sometimes they can come in a lot of value especially when you're talking about age ranges of people Decide you're gonna design for an 18 year old is looking it'll look a lot different than I thought you're designing for someone in In 50s right so true, but you I think that user persona development you More understand What exactly their goals and their challenges and their emotion emotional states essentially which can also be help convey with design And you're not gonna get that out of analytics Just on that note from a question of my own is if you would have if you had a limited budget and limited time What would be the go-to? Tool tools or methods you would use would it be analytics would be surveys would be building user flows Is there a hierarchy of how big is this budget Jeff? $10 50 hours So I'm gonna say I feel like I feel like all the above is are Accomplishable within a fairly small budget if we we may be thinking about different numbers or different ideas of small small means But like analytics, okay, the vast majority of organizations have Google analytics installed Somebody who's skilled at extracting meaningful numbers from that not just looking at aggregates Drilling down and getting good slices of data That's gonna have value. It's not gonna take that much work. Maybe even a few hours will probably give you something useful user flows or things that Probably don't they could consume 500 hours or they could consume five hours And I think even the five-hour effort is often worthwhile And there's one more thing that you mentioned surveys, yeah Obviously there are universities that have entire programs to teach people about Research methods and qualitative quantitative data So you can go like all out and creating like very like well vetted surveys that have like incredibly You know strong Or you can do a quick survey that asks a few questions get it out Relatively quickly and get some great data back and both are great approaches But even for a small project surveys, I think have quite a lot of value Especially if you can depends on how big of a sample size you have and how how much you can pester them and tap them on the shoulder But yeah, I like all three of those methods Of course, thank you nice prompts. I should definitely use your testing But I guess like I guess that's the question is if like some organizations are either or are concerned about Bothering their their customers. Maybe their customers are very high value. Maybe their customers are CEOs So sometimes user testing is very possible like for a university can test perspective students perspective parents and stuff like that if you if your product you sell to 500 people around the world and each one of those is worth 50 million or a hundred million dollars You might be a little more hesitant to ask them to come in and click through a website So, you know, there's various ways you can get to this this data I think I think talking about the project and it all goes the project probably also has to be it Can't be this like a recipe that this is always the go-to thing because all projects are so different And it really depends on what your aim is So I have a phrase that I ask will tell my People work don't believe everything you think So it's and it's often true. I think that we we create content by ourselves for people who are not like ourselves and so It's often a challenge to Keep pushing people to think Unlock ourselves and one thing we talked about earlier was accessibility and how when we talk about accessibility We typically think about colors and screen readers and stuff But Cheryl actually had some really interesting ideas on there I know just wondering if you could share that Accessibility is not just for those who are disabled individuals trying to access the internet It also affects me when I'm on my mobile phone in a really dark room or I'm out in the middle of a field And I don't I have really low Wi-Fi. So there's a lot of other considerations outside of just disability considerations that need you know that can affect someone's ability to access your website in a Experience that's not going to make them go away really quick. It's a really interesting point that you had about not just thinking about You know people who who made up disabilities. It's also about like the various context of use and conditions that people Can you give us some examples of how you've implemented that in in different projects you've had as far as Yeah, like how you've how you've thought about the project in those terms and you know in terms of You know Bad access to Wi-Fi that you know people like me who are having trouble Reading as we get older that kind of sure. How do you how do you know that sizes are really important? Font sizes we have you know standard best practices of the smallest font size you'd ever want to use on a mobile device You don't want to go smaller than you know like for example 14 15 pixels You can break your content up in smaller bite-sized chunks. So people with cognitive disabilities can can absorb the information more easily Breaking adding subtitles and clear titles to all of your paragraphs. So someone understands what they're getting ready to delve into deeper Giving them you know clear pathways to access the information by having your header tags all in the correct order so that as they're You know Using their screen readers to go through the page. They're not you know fumbling all over the place and going from the top In the bottom and sideways so those considerations are really important when it comes to content as well as like Wi-Fi access the size of your images that you add to your website You know that can really slow down the amount of functionality and interactivity that you add if there aren't careful considerations made during the development process You can really slow down the time and effort. It takes the load of age And I guess as Google pays more attention to signals about usability like performance mobile friendliness You know semantic the semantic nature of The way that the page is constructed how easy it is to find stuff and even metrics like engagement You know that there's the arguments To be made to sort of make the site more inclusive and to make the site just More available to more people. There's also just an ROI and like a business argument to be made that that doing these things is kind of the way the web is going anyway and and a lot of the The companies that are let's not say in charge of our lives, but influence our lives Have you know, there's they're really paying attention to all these things we're talking about and you know, they're They're starting to not starting to already Factoring that deeply into the rank in the ranking algorithms. I'm talking about Google. I say they We're getting reports now and like Whether the touch area on on mobile sites is is wide enough from Google search console So just to continue our own discussion with those influences those big companies that are not to be named There's obviously one of the I know Google Factors is dwell time and the the amount of time that users are spending on the content That that brings into the the question long pages and how If you do put all of your content on one page, which is quite a common design Implementation these days where you just scroll and scroll and scroll the question is how does that? How do you feel about those? I mean given that it could affect? Search engine optimization with what do you what are your keywords? How do you keep you know if people finding the right information on that page? How do you go about dealing with that kind of concept now that that's becoming quite quite common? One of the things that I always try to run through the filter is or a filter that I think through is Humans first and we're gonna design for humans and what they're looking for and you know If you have a good understanding of who your personas are and you know that all of you know this amount of information needs to be on the On a specific page and that's what they're looking for Then I think that that's great. I think the the pattern of Just how technology is shifted cell phones are obviously becoming more and more popular more and more people are having Smartphones then scrolling is just becoming normal. It's what people do like I don't know if you guys have gone up to your laptop and tried to scroll before I definitely have So it's just it's becoming something that people are anticipating anyways So as long as it doesn't hinder that user experience if it doesn't hinder What your users need to get out of a specific page I think that there's a lot of positive things to having a design style like that I think it depends on what you're trying to What you're trying to explain or what you're trying to persuade in on that page You know, there's lots of there's lots of great conversion case studies of long pages versus short pages like crazy I did did one conversion rate as per sit one That showed in their cases. I think most of them as well that long pages vastly up-formed short pages But I think you can't just make that decision Without understanding, you know, what your users how much you contact users can absorb a much they're looking to absorb How how much they need to know before making a decision? We've seen our own research on non-product sites like recreation centers and higher education sites more and more users are are Becoming more impatient with a little bit longer pages and looking looking for things to be sort of truncated especially like if they perceive even one block on that page to be irrelevant it's it's it's they there's a Disproportionately negative impact to that. They're like, why is this alone? A lot of times they look at it on desktop They say oh, this is fine, and then they go on the phone like I'm lost There's seven or eight sort of sections here and I'm really struggling to figure out, you know, how this all relates So I think you can long pages can work really well As long as they're extremely well structured tell a story very clearly and if they're the right choice and you've and you've considered the Short versus long and how much information you need to Present people could do long read on belt anyway So and this again is from a personal experience that we're going through right now is with long pages, you know there's a lot of a Lot of times people will say well, let's just accordion those up. So you just see the the one line and people can Expand those whenever they want I'm I'm into minds about that given that you if you are hiding content In any way shape or form you're actually By taking that out of the user's view. It's compromising the content. Do you have any any ideas on that? Kind of depends on the content If it's extremely long text heavy content and there's four sections of long hex text heavy content Do you want your user to scroll through all of that on a mobile device or by providing them the title? In a collapsed format so they can see all four titles at once they oh I want the one that's number four not the one that top so that kind of saves them time and maybe user frustration of having to scroll So on a mobile devices it can come in handy, but like I said, it's important of what content you're talking about Certain things you're certainly not going to want to bury for example Sure like a chiro education website They have a whole list of courses and within each under each course title They have like a description and the date and all the information about that particular course But maybe there's 40 courses on this page So we don't want the user to have to scroll through all that content They're just looking for the course title and we know that so they can find the course title and then expand it to see The information that they were desiring and we there's a question Please stand up We talked about the the scrolling fatigue for narrative structures again This is not b2b. Just this is me trying to tell compelling stories about how awesome my university is How do you come back that? Yeah, I guess like We've definitely seen like a 70% If people are so you said a 70% drop-off is that right? So 30% of people are making it to Yeah, only like 30 people are making it to the very very end of the story And so we're obviously structuring things where the most important bits are at the top But we're trying to be creative with embedding different kinds of media throughout the stories Not only to encourage people to keep scrolling But because it looks stupid when you just jam all the stuff on the first two graphs, you know I mean, so we're trying to be intentional about it Have you tried a B testing? We have not as often as we should but that's a great suggestion There's also like things that kind of you may which you may be a point already To help people kind of jump to sections that might be relevant to them Like I know a lot of sites use you know in context menus and jump menus that kind of stick are sticky Let's kind of a tactical UI element, but just different ways a letting people know let's say they're on the admissions page Or they're on the you know tuition and financial financial aid page and they want to see Scholarships they want to see you know the process of applying they want to see You know various various pieces of data like five pieces of data. Let's say five big buckets Structuring that information so they can jump to point four quickly or point five quickly It's really really helpful a little bit tricky on a small screen, but there's ways of doing that. Yeah Thanks, y'all Also with regard to content on on webpages And again, this is from my past experience I've always wondered whether it should be one page one one purpose so you come to the site you go to the page and you hit a page and the information you get on that page is Itemized it's your at atomic page for example and an example that I can point to is Nielsen which is a usability website and if you go to one of their webpages they will have in red at the top Essentially a summary of what this page will be what what the user is going to get from this page I've tried to push that into my company's website, but got pushed back So my question is that a good idea? in if If not why not? I'll take a stab at that first. I think every question of good or bad is you have to look at the context of it the way I would approach it is Looking at the topics that you want to talk about and then thinking about how is the user going to consume this information? So if they always consume a b and c and then sometimes d Having a b and c together Might make sense, and then they can go to d if they need more information But really thinking about how is the user going to consume this information and maybe maybe they look a little bit different She liked the internal Content editor, but maybe to the consumer all of or the the customer all of this information is the same So I'd probably start asking those questions before I would make like a blanket statement of Always have you know one specific topic max of 300 words or you know any restrictions on the page I do like the idea though Jeff of kind of telling them what you're gonna tell them up front as early as possible having some sort of nut graph early and you know We all a lot of a lot of these Kind of topic areas have come back to like what our users want and what what are their goals and where their primary goals? If if a user does come to a page and they can't tell fairly quickly if the information They came to the page to get is available on that page. I think it can be demotivating So we talked about like various techniques like obviously You know some Norman does the sort of the sort of map graph at the top, which is a great idea or you know having some sort of Menu way to sort of scroll through the content you want or just make it clear to the user or shortening the page All kinds of different ways you can do that. I think the key goal is Do I have to scroll down four screens to find that one piece of information that I want and do I even know that? That's even available on this page. So that's the art and the science So we're coming into the last seven minutes, so I'd ask if there are any questions that are still out there in the field, please put your hands up. Yes Yeah, and there's a microphone There which Lisa's gonna help you. So talking about analytics. What are some key metrics and What are some key metrics that you guys look at that you use to then better optimized better Design your website for your user It was funny because we talked about it a little bit in one of the earlier sessions of sometimes the most Easiest metrics that you can pinpoint are not always the ones that you Want to look at such as bounce rate So can you guys what do you look for and what metrics do you look at and really use in Designing and optimizing your website. That is a big question Yeah, I'll get you a list later. No, a lot of it is you know, I keep going back I feel like a broken record, but a lot of it is associated with your goals, right? So I like to look at bounce rate But whether or not bounce rate is good depends on what my goals are if it's a conversion page And people are bouncing after that then, you know, maybe that's okay Or if it's something that I it's the entry-level page and I want them to navigate through the site A high bounce rate is not good and I need to take a look at that You know, if there's if it's a blog page and the time on site is 10 seconds Well, that's probably not good because who can read an entire blog in 10 seconds So a lot of it deals with with the context But I typically start with a lot of the engagement metrics. How many times are people? Visiting a site are they or a specific page? How often are they going to the next page that I want them to go to? I think looking at things like conversion rate. Are they, you know Like are they accomplishing the goals that you want them to on the site or are they? bouncing off I Like to look at, you know, the most frequent pages people are visiting. I like to look at where people are exiting the site Yeah, so definitely tend to fall more on the qualitative side But I definitely feel strongly analytics are really important part of the puzzle even just stuff like understanding How behavior might be different from them from various form factors like the mobile versus the desktop understanding, you know, how to prioritize the content and what and How much to pay attention to knowing that we can't look at 500 to 5000 pages, maybe Just understanding what pages are I mean, it's basically the most popular that actually get get heat and get traffic and then understanding That can not only help us understand where priority might go in terms of like Best user experience best content experience, but also just prioritizing things like navigation like what should come first what should come last those things definitely a hundred percent the information on demographic is also getting better and better of Gender of age of all these things and then she actually can be quite I'm quite useful Certainly it's most useful if you can Disaggregate it as like instead of just looking at general bounce rate or general mobile use into some sort of slice That is actually meaningful and useful Like type, you know looking at users who dropped off at a certain point What are some characteristics of that user or their experience and then I guess the other part which doesn't come out of the box but a lot of people do is is actual like conversion goals and And actual tracking the journey. I think that's that to me is often more valuable than seeing like page depth or or You know how a time on page because how my page could be good or it could be not good at all depending on sorry Just apologies. We have two minutes to go and they're pretty strict on finishing up So if you'd like to come up and talk to the experts, not me just these guys after the after the talk that'd be great and I might just finish with one quick question if we've got To the to the panel just to shake him up a bit No, really, it's for you guys last two minutes my question is what is the most important skill? You've learned on the job that you think the guys here could take away And into their practice I'll take that being an advocate for the user Empathy understanding where they're coming from putting myself in their shoes. It's not about The company's goals necessary. Of course it is about the company's goals, but understanding who's visiting the website and Just keeping that at top of mind with every decision that I make When I'm designing One thing that I started in the company in a sales role and you know when you're on a lot of times on your sales call you get sort of a Handoff similar to this experience actually where you have somebody kind of moderating you kind of say here's Bjorn He's coming in as the expert on something and you know, I think it's very valuable for people to have Really strong domain expertise one of the things I've learned is just be comfortable saying I don't know or let's find out You know, I'm not I don't have the rancher at the ready right now because a lot of times You know a lot of groups can look towards to What they consider expert or agency to say like, you know, tell us what what what we should do But I feel like best practices are great and important but have to be You know, you have to factor in the uncertainties that we should you know acknowledge look at and explore I I guess yes, I can be quick asking questions being able to just be curious about Whatever the challenge is asking questions of all of the different people around the whatever the challenges or whatever the project is to get various Various perspectives and the context that you need to make good strategic decisions Okay, I'd like to thank the panel and thanks very much for coming along this afternoon. Cheers Thank you guys so much


I came across this Castile business and it's going on very well because people are also recommending my product to other people after they try it, they're telling other people say wow, this one is waking. It's good to be back home. My cousin, she went to South Africa so I could see that her life was different from how she was here. So I was attracted, I said maybe if I go the pastures greener, that side, so I said let me try. So I went there but then the experience I had there and what I was expecting, it was different. I was more like an illegal immigrant. I felt very good because when I was approaching I didn't know I would be giving up an opportunity for business management training so it was like an eye-opener. That's where I started hearing about value addition and how we manage our finances like we don't mix business money from personal money, we're not supposed to do that and we must keep records. Then they gave us the capital for businesses, the first tranche and then after the few months we were given another second tranche of the money. I was there in a shop buying castor oil manufactured in India when we can manufacture castor oil in Malawi and in some other places they grow on their own. That is what caught my attention to say I can get those peas and maybe come up with something. Yeah I want to build this business, it must grow, it must grow big, I have targets, I think I want to reach out to 15,000 customers like in a year, I've learnt a lot from the business and with the experience that I have I have potential for growth and sometimes when you're having challenges I can tell them they help me with maybe technical issues so we knew if you need anything you can always contact them. You know Malawi is not that poor, it's reaching resources, it's just a matter of realizing how we can take the resources into finished products that can bring us money. I'm very proud, I didn't expect I would grow this far, I see the future is bright.