 Yeah it is Scott. Good afternoon everyone and if you get nothing else from this talk at least you'll know I have large hands and to this date I'm yet to find someone with larger hands so you know it's just kind of yeah birth defect yeah and that's pretty much my talk I'm kind of done there. I am Scott I'm kind of excited to be at Drupalcon because for four or five years I've been coding Drupal under a rock I've been a guy under the rock in Sydney not Melbourne who is learning platforms learning a bunch of different systems loves programming loves code but I don't really share that with the community I've never really been all that involved and so I am I've kind of taken and taken and taken and taken from Drupal and it's a little bit of an opportunity now Drupalcon where I can give a little bit back but I am 25 years old I work at a digital agency in Surrey Hills in Sydney called Street Line Media. I'll talk a little bit about them in a second. But I've got two two main passions really that where I am now in life I think I found a way to bring the two of them together. The first passion is is for all things digital for code and for design. The second passion is the social justice and a real passion to see human rights received for everyone in the world and human development overcoming issues such as poverty and a real passion for equality social equality that kind of social side to how I want to live my life when I want to see myself achieve in the time that I have here and this passion for all things digital alongside that and so for the last ten years I've been developing and various things I've been in designing and various things and I've been a freelancer for about seven of those years started in high school I made flash games with my best friend and we had a skate skate crew in the day and that night would make flash games and and it sparked this interest of pulling things apart learning how they work and doing so digitally and so that led into a few freelance opportunities with some family friends which continued for about seven years as I formed a little bit of a business I went through training which had nothing to do with anything digital whatsoever spent a bit of time working with World Vision again doing nothing to do with computers or anything like that I was I was working with high school students buying them to do the 40-hour famine but along the way I just constantly just pursued in my you know my downtime in the hours I had free I pursued the web I pursued digital things online and and I really formed this love for two things about digital it was a real love for bits and pixels I love code and I love design and I'll never be amazing at code and I'll never be amazing at design but this fence in between looking at the two of them and using one to inform the other is that place where I love working that place where I love doing digital things and so in my current role at the moment you know I get to I'm the technical director at Street Line Media or a digital agency of about 10 people and I get to spend half my day in Sublime Text and another half of my day in Photoshop and I get to spend half of my day working through checking things and committing things into my GitHub repository and the other half of my day with a pen sketching things out and drawing and working with our designers to find kind of visual solutions then working with our developers to see how we build that out and by no means are we a Drupal shop at Street Line Media but we are huge advocates of Drupal and so as a digital agency we do a number of things but where we can our weapon of choice and our arguments to our client is let's move towards Drupal, let's move towards a platform which gives you the options that you need because you've been on Joomla for 14 years and there has been an update to it since and so Street Line Media is where I've found myself kind of for the last three years it's a company that a friend of mine who had a similar story to me and we both formed this company Street Line Media and we formed it with one kind of core idea in mind and it was finding that balance between digital and social change how do we build a business how do we build a social enterprise which is going to work towards human rights outcome work towards a better world by pioneering new media by using new technology and applying that to the world's issues by Jim Wallace said your vocation is where your skills and your passions meet the overarching needs of the world and we really believe that as professionals we can do that in our work and we can build a business which doesn't measure our success by the profits that we make at the end of the financial year but it measures it by the lives that we transform through the things that we create and so we do a bunch of work for organizations like World Vision this is World Vision International Drupal site that we're launching on Acre in a couple of weeks and it's also a responsive site last year we did a rebuild of Fairtrade Australia's and Fairtrade New Zealand their digital platform and that was a actually this one I'll come back to in a second the Fairtrade Australia that was another Drupal site and it was another responsive Drupal site and and I'll talk a little bit more about these guys later on because there was some really great learnings that we got from that but we also work in we also work in iPhone apps and mobile so while we love online publishing on desktops and on the web and in the browser I personally have a real passion for having tools available in people's hands we can bring about real change so this app here is one that World Vision came to us and they asked us they said it was the church part of World Vision they said we want to create an app a resource for our supporters in the church who can pray for us pray for the work that we're doing in the field when there's an emergency we can send out an alert and say hey get your get your people together let's pray for this issue and let's kind of mobilize that Christian side of the work of what World Vision was doing so this is an app that we built powered by Drupal a native app which was giving those the work of World Vision and giving that power to World Vision's church supporters and so that place between mobile and the web and digital communication is really where we love working and the organizations like the World Visions of the world who are trying to achieve things digitally that's really where we want to target our services and see the change that we do make a really big impact so for us as a company we really believe that we can be involved in changing the world through design through development through bits and pixels and we're trying to design change one client at a time one website at a time but we also have our own ideas and we're also driven by this entrepreneurial spirit this idea of innovation where we can take our learning and we can apply that to needs we see in the world at the moment so we try and give a fraction of our week each week to developing ideas to working with our skills to make something happen and for me this is something that I've always tried to do over the last 10 years is if I have tools in my belt I want to use them right now to make a difference in the world whatever that may be and for the last 10 years those tools have been digital and so about five years ago I was in Tasmania and I'll tell the story in a second but I came up with this idea called fairly local and it's what I want to talk to you about today because fairly locals had this fun journey over the last five years or so and the last two years have been a heavily Drupal journey and they're familiar with this great learning of me getting involved in Drupal I'm by no means a a Drupal expert on a scale from one to three I'm about to but I think that's what's amazing about the Drupal community it's because while I'm at two there's all this work for me to get ahead in Drupal two is an empowering place to be and two is a place where I'm not contributing to call I don't you know write custom modules and put on a Drupal.org or anything like that but I do have a login on Drupal.org and I can build a website and I can advise our digital team on how to build it and how to structure our data modeling and how to engage with views and custom modules to solve some of the problems that we face on the projects that we do and so fairly local is this fair trade locator it's about finding ethical products where you are it's about using your iPhone or using the website to find the nearest fair trade cafe to find that cabriolet block of chocolate which is just craving and you have no idea where the nearest store is and so it started as this idea for me where and we'll look more about this later on I want to just skip past this started as this idea for me in 2007 I was working with World Vision at the time I was freelancing in my spare time and I was just starting to kind of get a little bit involved in Drupal I was you know at the 0.01 on that scale of my involvement with Drupal and I was down in Tasmania and I was talking to high school students about these children that I'd met on a trip I went with World Vision across to India and I was talking to them about child labor and and child rights issues and I was I was sitting outside a car rental place in Hobart just craving a coffee because I was really tired and I was you know passionate at the time and wanted to find a fair trade coffee because little consumer decisions that I make can make a big impact if I make them regularly and I'm using my voice to share those thoughts and so I didn't know where to start and so I started going around a few cafes asking if I had anything no one had anything so I thought what if what if there was a resource what if I could just pull out my iPhone and just say find me something nearby which is fair trade find me a nearby cafe and as I generally do when I'm trying to think up ideas the first thing I think of is a pun so my sense of humor is really bad and it generally centers around pun and so I was thinking only there was like a local way to find something fair fair fairly local and that's where I started I had the name and I thought well how do you build that how do you make something like that and started thinking in the back of my head I don't know I work with HTML and I build websites from tables I have no idea how to make a website which would do any of these kind of location based things but the first thing I did was check if the domain was available the domain was available so that was an open door to start exploring it and so I I found my coffee and I sat down I started to think about what this might look like and I pulled out my laptop and I started to explore to see if there was anything like it online and I couldn't I couldn't find anything I couldn't find any resources so I thought I could do this I could make a difference in the world through a website it may not be a huge difference but it'll be a difference and any difference can have a huge impact and so I started to think what might a fair trade locator look like what might it be to what might a resource look like to find fair trade wherever you are in Australia and and my general philosophy is if it doesn't exist yet then build it and so for about six months in my downtime I'd you know buy a book or I'd read a topic I don't know if Stack Overflow existed at the time but that would help to be a whole heat back at this time and I would just try and figure out what it you know how you do spatial measurement and what azimuth means and how you do some kind of a location-based thing in a MySQL table and and none of that made any sense to me and I found a whole bunch of code which you know if I copied and pasted it all together I'd end up with the spaghetti script which would output some kind of a function and about six months in I had this prototype and I thought this is cool this could work this looked horrible but it could work it could do something as a website and and then I got distracted for you know it's another six months or so and then I came back to I thought this is horrible this is horrendous I got to build it again and so I built it again I wiped it wipe the slate clean I thought I'm gonna build it again and that's kind of the story of fairly local to be honest is that it's ream rebuilt about seven times but this is the second time and and there were a few times since then just trying to get it right but about two years later so by about 2009 2010 after having put it on the back burner for a while I'd eventually come up with this working prototype called fairly local version 1.0 and it was Australia's first first ethical product locator online and mobile managed by the community and it looked a little bit like this it was a basic site it had a search box at the top it had way too much text and hardly any kind of appealing graphics whatsoever but it worked and you could enter your postcode and you could find what was available near nearby and so if you you know we're in Geelong Victoria you'd find organic ladder where they have a whole bunch of products there which are fair trade now somebody added this from the community out of this particular listing they knew where to buy fair trade thought I'm gonna share that with the world I'm gonna let them know through fairly local how you buy how you find fair trade near Geelong and so I thought well the websites working we're starting to get maybe a hundred hits a week which is more successful than their website had done before but by no means is a huge measure of success I thought but it needs an iPhone app and I don't know anyone who makes iPhone app but I know that 13 year old kids on YouTube have tutorials will tell you how to do it and so I watched the 13 year old kids on on YouTube who taught me how to program in Objective C and I bought a Objective C for Dummies book and over about three weeks I learned a few basics I downloaded Xcode and I learned a few basics to be able to make this app so from the point of watching that first YouTube video to six weeks later I had an app in the app store and it worked and I used it when I was out and about and I could find fair trade that worked for about two years it was a completely custom PHP my school website and an Objective C iPhone app and if you looked at the code and if you guys are developers which I imagine most if not all of you are it's horrible like it's the worst code there's about a thousand pages for every different thing and it's just there's a few functions that I wrote so it wasn't all lost but by no means was a content management system by no means was it something that anyone except me could work on there were no comments there was nothing and the performance was questionable but there was some there was some kind of key some key successes for two years a site averaged about 2,000 visitors a month we had a hundred brands on board who'd log on and add their products and we had about two and a half thousand listings across Australia of where to find fair trade products and so for two years it was a resource that worked but during those two years my journey went from freelancing to starting up this not-for-profit company with my friend Murray and and we took this on board we thought let's make a resource of this let's make something beautiful from this let's redevelop using open standards using a responsive layout using Drupal as the backbone of this project and let's make something which really seems let's make something which it's just going to kind of take it to the next level and so there were a few key problems that would learn from this first version which we wanted to try and overcome the first was poor for poor performance the second was that it was really timely to extend the third that there were some major security issues and we got a lot of spam all over the website and and the third was that the design was ineffective it worked in part but by no means was it mapped around usability and the user experience there was no user testing there was nothing that was just it's via search box needs to be a description of how it works needs to be a navigation link and it's got to have the fair trade logo somewhere on there and so we thought what are we going to do with this old website let's build it again and let's prioritize good design let's prioritize extensibility let's prioritize scalability and let's prioritize stability and security and so this time we wanted to rebuild it right and so Drupal it was and and it was a natural fit so many reasons we were leaning towards Drupal we were not great Drupal developers at the time even now we're still good Drupal developers they're not great Drupal developers but it was the platform that we needed we knew it was scalable we knew it was secure we knew it was extensible and we knew that we could have performance really tailored and fine-tuned to make sure the site doesn't go down you know when there are four people visiting at the same time and so this is what we came up with after about probably another year of our spare time spent on it just a bit it was probably about a hundred hours all up in the redesign but you know it's that hard to find a hundred hours in a year often and so we had fairly local 2.0 which was still Australia's first ethical product locator online and mobile now powered by Drupal and so we completely redesigned the interface we focused it all around the search and we completely redesigned the map and we centered everything about location base at the app and centered everything around location base map and prioritized clean slick interface focused around the core features and functions that a user is going to need and so I just want to give you guys a bit of a demonstration as to how the app works what it might look like if you were on the website on the mobile phone feel free to follow along it's a free app if you want to download it but you are under no reason to have to download it we have the app and we have the website now if we open up the app we'll see if it locates the Synclogy it does so we're here this is where we're located right now and if we want to find something near us all we have to do is first locate ourselves and then search we could search for a whole bunch of suggestions here we could type in what we're looking for I think we want chocolate it's if we do a search we end up with a result just around the corner for Maloney's grocer Maloney's grocer sells a few different types of cocoa chocolate which is a very amazing type of chocolate I can vouch on its behalf and that's it that's all the app does it tells you where it is it tells you what they have available and then you can just get directions or view it on a larger map if you want that's all the app does but it does it well and it does it seamlessly and it's like a tool which is just available in your hand which you can come and go and use it as you need now on the web if we were to do the same thing we could come here and say okay I'm looking for chocolate near could you and it's going to return a whole bunch of results out our zooms that are larger on the website so we've got a whole bunch more results here heading out to Surrey Hills and that kind of thing but we've got Maloney's grocer it's four kilometers away and we have that same information here available we can click on a product find the information about it we can actually find all the places nearby which sells this particular product if you just wanted to find a particular type of product you can do that as well and really that's all there is to the search on the on the website as well with tailored everything around three options you can search you can browse or you can contribute and and the one thing I want to look at now is just we'll in a bit we'll explore how this works in using Drupal the power both the app and the website but really I've got a block of chocolate yes which if you pay close attention I will give you this block of chocolate because I my wife and I have a cabardery milk chocolate addiction ever since they went fair trade and so we have far too much of it at home so I'll gladly give this away to whoever pays the most attention but I have this block of chocolate it's located here at Drupalcon Sydney and it's not listed on fairly local so I could wait for somebody to think oh I'm going to add that block of chocolate fairly local so that everyone can find it or I myself having this knowledge can think okay well I'm looking for Cadbury near Kudji and I don't get any results and so we're going to add it and so first I'm going to contribute going to ask me to log in I'll log in with Facebook just so things are much simpler and once I mean I can contribute now it remembers that I've already searched for Kudji so it's going to give me a bunch of stores near Kudji that I can contribute to I don't want to contribute to any of them because we want to add our own store it's going to be called the crown look at that I was testing it before crown plaza it's going to be a Drupal store Drupalcon category which is not obviously there every day I may have added that to the presentation and we're going to put in our location does anyone know the location here 242 probably entered it 242 out in three in Kudji state postcode anyone not that important and we don't have any websites or any of the stuff load so I'm going to submit this and I've added the store now I want to start adding some products to it and so we've got this interface which we've designed where you can say all right we'll just start typing what you're looking for I think we want maybe dairy milk chocolate going to add it to the shelf let's add another one maybe cocoa chocolate dark 70% now I know as a fact that I don't have cocoa chocolate in my bag I'm just going to drag that one to the bin and get rid of it it's all updates over Ajax and so that's now available if I come here and do my search again we should get and our address is a little bit wrong the crown plaza Drupalcon in Kudji should have our available block of chocolate there and if we need to we can just get our directions or view it on a map and this process here is what powers the whole website it's a community-driven website it's about people sharing knowledge it's about people going out and finding fair trade and then letting the rest of the world know that it's open open source open open source principles really applied to a community of people trying to find fair trade share your knowledge be involved in the community make a difference by adding what you have because when knowledge is available and free everyone's and that's really all there is to the website there's a whole other kind of bunch of backends the brands I won't go into that now you can ask questions later on if you need to but I don't want to spend too much time talking about things that people may not care about and so I'll move on and I'll head back to my presentation and so how do we build it well Drupal gave us a whole bunch of options to work with but effectively we built this on Drupal 6 apologies for that with location and Facebook Connect where our real key modules I mean there are a bunch of other contra modules but they were the key ones which empowered us to create what we need to create in regards to user registration workflows and in regards to geocoding data and representing that out now the main reason it was Drupal 6 was because when we started building it we were using GMAP2 and and there was just no work being done on the module and so we'll kind of pushed into Drupal 6 at the time in the end we just can GMAP2 anyway because we wanted to use Google Maps version 3 and so we just kind of worked with some views templates not going to make it work but that was kind of the reason we started with Drupal 6 at that point and there are a few really crappy modules which we made and they worked and I'll talk about one of them in a sec which could be a fantastic module if it wasn't written by me but the concept is really nice and then we have one really intense view which is that search view and so it's got about seven contextual filters it's got seven exposed filters and really we use that to to generate those results both for the it's the same view which generates the results for the iPhone app by returning JSON to the iPhone app when it's requested and it's the same view just with different displays which returns those results on the website so how do we use location the location module gave us everything we needed to the geocode our store content types there's only about I think maybe four content types on the whole website there may be a little bit more than that we have brands we have stores we have products and we have listings now a listing is really what the search is powered by the search so when somebody adds a listing they're adding a listing of a node reference product to a node reference store and so that's all the listing is and that just allows us to have views which I haven't got multiple relationships and a huge kind of load on the database there it also allows us to make that nice shelf where you can add and remove products really easily but location gave us everything we need if we put an address in it would geocode that and we could store long tune latitude in the database there were a few explorations we did around like I mentioned using GMAP GMAP and a few other kind of libraries to try and geocode things but location had it all there for us at the time that we're making this and without the contrary module location the project would have been lost so I'm very grateful to the community who built that Facebook Connect which I think might be called something else now but at the time again we love Drupal but in Drupal 6 at that point we didn't love the registration workflow now it's going to be a real hurdle to us having people contribute to the website people would want to contribute but if you're going to ask them to register then they're not going to want to enter all these details and they've got to ask questions about where the privacy is safe and what you're gonna do with the data and it's just a nightmare process for someone who just wants to say hey here's where you buy a fair trade and so we thought it's important that we have additions to the website being mapped to users but but we need to make that seamless and so as you saw when I logged in with Facebook Connect before the process is fairly seamless now if I hadn't registered before there would have been one extra screen which said do you give this app permission to access your email address and that's it and so Facebook Connect module it really enabled that in a great way it also allowed us to decrease the barrier to contributing the site but also open the site to integrated social sharing and there's a bunch of things that came with that module where you can see which of your friends have registered to the website that kind of thing but really just getting those permissions from users to be able to interact with them on Facebook through your Facebook app is just a great door open to be able to explore your social connections that you have with different people there was this one custom custom module we made which was called intention and the real purpose of intention was to map the user's input to that view that we created now you would have noticed when I entered that before I had kind of two different types of keywords in there I had I'm looking for chocolate and I'm looking for it in here could you and that's hard input to decipher what they mean it's hard to understand what the intention of the search is what if somebody just searches for chocolate then you're gonna have the geocode somehow near where they are or default to another country what if another city what if somebody just wants to search for a location say I grew up in Barara in Sydney what if I just want to say fine fair trade near Barara how do I know that Barara is not a type of product how do I know it's not a taxonomy which is somehow grouping stores or products in term references how do I know all that I have to figure it out so we wrote this custom module which basically it looked at a few things first it would check out taxonomies and all the synonyms related to that and so we can have variant spellings of cafe and that kind of thing if it found a match there it would give points to that match for cafe or for chocolate and then it would move on to the next step it would break things apart with that conjunctive of near or in to determine whether there were two things in there so product near location or product in location and then it would iterate over the names of products and brands and certifications throughout a view output just to see if there were any matches and so work quite similar to how the default triple search module would work but there are a few specifics that we needed and we weren't confident enough to be able to extend the search module to make that happen and so we wrote this this module intention and that module is used both on the website and on the iPhone app I wish I could contribute it to triple but it's horrible and it's tailored to our situation so again my intention would be to in the future work that towards a better kind of approach to multiple different projects because I think it's really valuable to be able to understand sentiment when somebody's doing a search and the other thing which was core was views naturally it's called pretty much any website that we would all create but having the power to have location in a views and be able to do proximity filters and that kind of thing to understand how close something is to something else saved all that hassle for us to try and figure out how to do that with our own you know first time we did the project trying to figure out how you do distance calculations between you know as the more than the curvature of the earth and all those sorts of things which were just well over my head now that's kind of some of the core things that were really important for us to to get the development working to get the functionality there which we needed but another huge component for us was the design so one thing we really wanted to do in this project was prioritize design we didn't want Drupal to be the you know the proverbial carp for the horse we really thought the design's gonna need to drive this we need to understand our usability our user experience we need to map that out before we build anything in Drupal and so we wanted to prioritize design because good designs as it's as important as any great development we need to give the time it needs and we need to engage designers when needed and this was hugely important we had some designers on our team but the role of designers in understanding experience a lot of the time sometimes a designer can be quite airy in what they end up producing which doesn't have any considerations to usability and doesn't have any considerations to the user experience but the ability for designers to work alongside developers is so important that was really important on this project to have that conversation to have that happening the other thing we wanted to embody in this project is a mobile first design so we wanted to explore our usability by shrinking down the constraints of our of our device and then starting from there and so when you constrain your design you'll find your user experience priority and so for us we constrained it right down we thought we kind of want two things we want people to be able to search and we want people to be able to contribute they're kind of our two actions on the website that third one browse kind of comes under search it's just another way to search but we were able to shrink it down and think well that's what we want people to do that's how we want people to be engaged we want them to find fair trade and we want them to help others find fair trade wherever they are and so by constraining ourselves to the you know the width of a mobile phone we immediately started to ask those questions okay what do we get rid of what's redundant what's for both what can go out the door and what do we left with at the end and then let's build up from there and take those principles of a mobile first design and apply them to our desktop side as well we were just exploring responsive design at the time and what that meant and so we wanted to put it into practice on an internal project and see what it looks like to have one design to rule them all so to speak and and so we were we were trying to prioritize designing sites that respond to the limits of any device to ensure the best user experience no matter what website what device the website is viewed on and I think it was important for us to to not get stuck in any particular frameworks actually we build this on a framework called skeleton we haven't used it since but we haven't changed it since as well it was really helpful for us to have somebody who'd done the full thought and think all right let's think about the type of devices we have let's have a really basic kind of boilerplate boilerplate markup and CSS to be able to be able to make stuff happen but the problem we found with this was that skeleton was designed by someone who had an iPhone and a iPad and so you've got four media queries you've got your desktop which is you know 960 you've got your portrait iPad you've got your landscape iPad wait that's 1224 you got your portrait iPad you got your landscape iPod and you've got your portrait iPod you got kind of four designs there's no fluid styles between them and so you know we've since then moved towards bootstrap now I took a long time to come around to bootstrap personally there's just so much bloat which goes in there but for us as a studio like our workflow has been transformed being able to have prototyping tools in bootstrap which you've got full control to be able to extend it how you like to be able to strip things out that you don't need and I personally what I love about bootstrap is the thinking behind it and that might be because I'm I sit quite in line with the way they've thought semantically around a few things but it's great for us to work in a team collaboratively with our designers with our front-end designers with our developers to really achieve the best kind of mobile responsive frameworks that we can other things you had to consider with design was planning ahead now we didn't really do this and that's the nature of having an internal project you don't really plan ahead you just add hoc solutions together as you go along but we tried to as best we can in the time that we had to design sites by planning it out and ensure that usability was met and that's hugely important when you're talking about data modeling that kind of thing so often it's it's ignored or neglected when you're talking about design the other thing I think it's probably been mentioned in a few different workshops over the couple of days but you want to be in control of your markup as well and there are ways that you can do that not very great in Drupal 6 but that was you know the sword we fell on by choosing to use Drupal 6 but don't let the Drupal the Drupal defaults dictate your markup you want to take ownership to ensure that you're in control of your standards and particularly in respect to your front-end developers for a front-end developer who's not all that familiar with Drupal it can be a real nightmare to work with views which have 17 nested divs before you get from the parent view div to your output of your field so we use things like semantic views and taking control of the template files as best we can to do that and try it as best we can to control our markup I'm really excited about what's on the horizon in regards to that as well with Drupal 8 and the iPhone what kind of lessons do we have what are we trying to prioritize when we were making the app or remaking the app the iPhone was built rather than being a web-based thing compiled with PhoneGap or one of those other compiling services it was built in Objective-C I thought I bought the book I might as well get my money's worth and and we used views data source which provides the display where you can choose a whole bunch of data source outputs and the one that we used with JSON and that was from that kind of killer view that we had which was powering the whole website and it worked really great for us and we've used them on a number of apps since but for us it immediately meant we could work in our libraries we could work with the format of JSON coming in we could work with Objective-C to ensure that we really prioritize right design and good user interface on a mobile phone you know human interface guidelines from Apple and those kind of things obviously considered there to mention that this is the other thing I wanted to show you now this is our slice file so this is every single element which goes together to make up the app we do it in one giant PSD we slice everything up and you'll notice there's two sizes for everything thanks Apple for your retina graphics and so we're still having to do that I'm sure many of you guys are facing that problem on the web and there's a whole bunch of different solutions to work with high density displays kind of thing we're going to that now but this just kind of gives a little bit of a snapshot into you know how we've composed the interface and if you look at some of these elements like they carry across from the website we've got this dark color in the backgrounds along here we've got this strong green bar at the top we're using the same shelf and we're using these same icons to represent different types of products we really wanted to make sure we were consistent between a mobile app a mobile piece of software and our website our web platform we were building on now the other thing which came out of this which was really interesting is that it started a conversation with Fairtrade Australia in New Zealand we did this you know as a service to humanity we really it was selfish really I wanted to find fair trade near me so I built an app for me to be able to do that and then I said you rush to the world find the information for me so that I can benefit from it my intentions were selfish but they were selfish in the sense of what I wanted I knew would also make a difference in the world in some small way but it started this conversation for us with Fairtrade and this happened while we were developing on Drupal and we said to them hey what if we could because they wanted a resource like Fairly Local they wanted a Fairtrade search engine that they could provide to their consumers and so we said well why don't we partner what can we do with with Fairtrade Australia to partner with Fairly Local and so using domain access we actually created them for them a responsive custom branded Fairtrade exclusive Fairtrade search for Fairtrade Australia it looked a little bit like this quite different to Fairly Local you notice a little powered by Fairly Local at the bottom but the user experience is very much the same tailored around that search being able to have the intention sentiment there in the search as well the maps all kind of very similar but a different sort of display and the listings have lost the shelf but everything is quite similar and this is actually the exact same website this is Fairly Local the same database the same views everything's still powering it we've just designed a custom theme for them and using domain access we can say all right this is the approved content which Fairly Local wants on their website and so we don't get any of the stuff which people add which may not be Fairtrade certified that was really important to them so this for us was our first kind of multi-site and it was really fun exploring domain access and how we can do that there's also a New Zealand version search.fairtrade.co.nz which the same kind of concept that's limited to New Zealand data which is interesting because we don't have New Zealand support on Fairly Local but we do have it there underlying just so that we can power their website and so for us this was a yeah a really kind of interesting process to happen alongside the building of their Drupal platform website to provide this service from from one that we already built but as I kind of think about every internal project every personal project I have got to build it again like when you hit a dead end or you get tired of design or something you got to build it again because I've heard a we face the fact that we built it on Drupal 6 but seriously we we want to build it again and we're trying to find the time to schedule it in to really make sure that we can take it to the next level again and I mean I've been working on this project personally for six years and I think I'll probably work on it for another six just because it means a lot to me because it was instrumental in my development journey in providing me a platform where I can explore and try new things and and pioneer personally and then push the limits of my development capabilities but what do we have to consider do we build it on Drupal 7 that's almost a debt we don't build on Drupal 6 that's a decision or do we wait and do we build it on Drupal 8 I'm really excited after the last couple of days at what Drupal 8 is going to afford us for a project like this particularly with web services at Symphony as well as just with wanting to prioritize front-end in our design and in our workflow as a team I'm stoked about twig and a bunch of different things which are coming in Drupal 8 but we caught the last wave out on Drupal 6 and and we know that in the development of this site and so we'll probably explore building on Drupal I like rebuilding this site so I think we'll build on Drupal 7 then when Drupal 8 comes out we'll build on Drupal 8 just because it's fun to keep working on it and try and you know simplify your code and make everything more stable and a much better experience but there are other kind of considerations which we want we have a whole bunch of modules running on the site to manage content access this is an area this is why I put myself in the two basket of of Drupal development because content access and those kind of things I've never had time to bury my head in deep enough to kind of figure them out but we were able to make something work for this particular website we're able to have content access where we can say all right you're a certification you've got access to every piece of content which is marked as Fairtrade certified and so you can approve that you can do whatever you like with that content and you can limit it so that no other user can edit that content every other piece of content though which is not approved as Fairtrade certified free to any authenticated user to go in edit and make the changes as an open website and we also have brands where we have a similar kind of limit say if you have content with it which is marked as your brand's content you're the only ones who can edit that what you and Fairtrade Australia and for us trying to figure out what the best modules to use how do we do that do we design a custom module I thought we do design a custom module to make it work and then I pulled back and thought wow if we were a Drupal shop which were really good at this stuff we would do that but we are not and so we will not and so content access with such a varied role system between certifications and brands we would want to in a rebuild would want to explore a better solution there and we have a few ideas of how we might do that we'd also want to prioritize the social layer of what we're doing that was kind of I got left behind that was the carriage which kind of got dropped off in the push to try and get it finished on time we had these huge intentions of making the whole thing social make it deeply integrated with people's stories online because this is a website it's a resource where people care about this stuff there's a community of young activists thousands of them across Australia who are behind causes environmental causes causes against probably seeing our foreign aid budget increased to 0.7 as we committed 13 years ago people who are passionate about seeing change happen from where Australia sits in the world and fair trade fits into that ethical consumerism fits into that and so we have this active community of people who are not really engaging socially and so we'd want to deeply integrate that social sentiment throughout the website so that people can find and share their knowledge but broadcast that to their networks as well and if you know the better you do your social the more impact your sites gonna have on a broader scale and for something like fairly local where the benefit is seeing people talking more about where our products come from who's producing this where they paid a fair wage when I have my cup of coffee how important is it that I'm considering the plant and the soil which grew this in the country where it grew and that the people who are managing that you know in a cup of coffee the the producer gets about three cents under fair trade that's about 12 cents but it's just so important for us to be kind of considering that and I think there's a huge social layer which we could have in a rebuild of this site where we have an emphasis on shareability of the content both online and on the mobile less is more this is I could probably skip past this it's not all that important but I included it anyway we love less and sass where our preference is less I think everyone else here's preference of sass from the impression I'm getting in the talks but we definitely use that in a rebuild but I think it's really important to make sure with any kind of compiled CSS that you're doing that you're not being lazy in your coding because you can quickly get so much bloat and and less and sass provide these amazing opportunities for us to actually have a definition for what cascading means and yeah we'd want to be smart in whatever we're coding in a redevelopment there hosting I heard no one has a question about how we're hosting this because it's let's just say needs to be better and so if we were able to generate some money from this then we would without a doubt move to aquia to support that just because it's not good a good hosting environment at the moment and in fact to do this presentation for I downloaded everything locally just in case the case it didn't work and so if you try and find that cabry block of chocolate on fair trade yes I've still got this I think your hand was up first so feel free to share it around I forgot to give that up before and that will disappear from the website once you've finished that block of chocolate the custom module we wrote into that block of chocolate the other thing that we want to do is we want to give people the option when they're on their mobile phone to be able to contribute to be able to say hey look here I am in Woolworth I can see four fair trade boxes of tea and they're not here lifted on fairly local I want to scan the barcode and to the store and up it goes so that's that's available there to contribute to do that we'd want to use if this one Drupal 6 now web services triple 8 and I think a few other modules which have gained prominence since we originally built this I think rest WS or something like that might be another one but Drupal iOS SDK integrates really nicely with services and basically it gives you this whole layer and objective C for you to be able to create node objects and just call a node save command and it takes care of all the all the communication with the server you set things up with the services module and it will give you access to users access to pretty much any entity you can think of and it it's powering my vision for where this could go and having a great it's available on github if you guys want to explore that work habit of rigid have released that but it's a really great framework if you are into native iPhone app development at all but I guess the last thing I wanted to come back to is we are all pioneering when I was young I grew up in the more not in the bush I grew up on the bush in Barara and and I loved exploring I loved finding new caves and imagining that other no one's ever been here before and I was being here for for hundreds of thousands of years and that thought of being in the bush being somewhere new pioneering new frontiers that kind of explore a spirit in me always got me excited when I was a little bit older and kind of my early teens I realized that everything's been explored and so I kind of quench that out but then I found new media and I found technology and I found these new frontiers where we can pioneer we can push through we can innovate we can create something new and that explore a spirit in me was sparked and that's powered a lot of my my bits and pixels journey a lot of my design and development and how we can find our vocation where our skills meet the overarching needs of the world and I think for all of us irrespective of the project that we're working on we have these tools in our hand which is shaping the future and we as a company are trying to do that we're trying to do that by the clients that we work with we're trying to do that with the quality of work we do we're trying to do that internally by coming up with these ideas and investing our resources into making something happen but I think Drupal is a community is doing that as well and I've been inspired by the talks over the last few days about how Drupal can make such a huge impact and so I just wanted to encourage you guys in closing that you have these tools we can pioneer and push through some of the issues we're facing in our world at the moment so we can find a more equitable world so that we can find a world which doesn't have the man-made horror of poverty so we can find a world which is which has climate stability and we're not exposed to vulnerabilities from human effects and those sorts of things whatever your passion is whatever you excite to you about make your difference in the world apply your digital skills to that and together we can make a change is that together we can design the future and we can see the positive things come out of that that's about all I had to say open to questions if anyone has any questions from that I think we have maybe yeah 10 minutes yeah the the intention module that we made it's not available online if it was that would be really great and we would use it are we going to contribute that look honestly probably not if I'm to be honest just because to make it a polished module which really worked in a whole bunch of settings and fit you to be able to say well what are your sources that you want to measure intention across and how do you have a kind of algorithm which measures sentiment based upon these kind of broader principles of measuring that that would be a pretty big undertaking maybe a little bit a way to above my kind of punching grade but there there are sentiment APIs out there which are available which aren't triple one there may be some triple integration done there but sentiment API's which can look at you know things like your followers on Facebook and measure the sentiments on kind of the general you know Twitter sphere and pull out some really important things about what people are saying how they're saying what their sentiment in the tweet that they send is so there are those kind of things available out there in an open source sense and provide sense as well yeah yeah so yeah the question was for community contributions I guess how do you avoid problems there like is there any any validation any checking to make sure that things are authentic things are clear and what role does domain access play in that of us oh okay yeah so we have it depends on the content type really so listings there's no checking whatsoever if somebody adds a listing it's a pretty pretty low priority content type it's pretty hard to span with spam with two reference fields except that you're just going to get incorrect data and people can just log in delete themselves anyway to keep that data pure for adding products we have an approval queue which we log in and fair trade login just to make sure we get a lot of spam in that approval queue either that or fair trade fair trade Viagra I'm not sure but we get a whole heap of spam coming through and and that approval queue catches all that so it never appears on the website and so everything's unpublished until we can go through and approve that for stores there's no approval queue whatsoever if somebody at the store it's only going to appear online if people list products there and they can't list products there which haven't been approved by us anyway so everything's kind of interconnected to that central product approval process which is where we have the permissions which don't allow people to publish content without having to do correct yeah but the only plan is on the community to delete that stuff as a community they could just delete the product listed there yeah which was interesting with something we explored and we and we got down to the point where this isn't our resource it's a community resource and so it'll need to be managed by the community in that regard and we do have back like if they delete a listing it doesn't delete that node it just unpublishes it and so if somebody goes and tries to get rid of everything we can go back and undo that and we track what kind of unbubbishing actually happen yeah yeah we so the question was do we have a there's like an order suggest search there that was a little jQuery plugin we wrote which if you view the source code of the website you'll be able to see how it works it's it's not great but it works I'm pretty self-deprecating I apologize about that I'm actually not that bad a developer I just feel a little out of my depth with all these amazing developers around I'll show you on the homepage yeah so you can see that says cafes near crow's nest it is a suggested search where it's got taxonomies loaded in so if we do chocolate near and there's a few popular Australia cities in there so you'd be able to give Melbourne maybe Sydney I probably took Melbourne out what's like to one but maybe can't work so there's a few sorry let's hope it is now maybe long system now sorry maybe I'll have that info you but you can enter anything you like here so you say I want to find coffee near 25 and it will actually geocode so that bit there is geocoded by Google so we send in the address they give us back longitude and latitude and we feed that in don't if you can see it up here but this is our view it's pretty intense so there's a whole bunch of different arguments which is all this the nature of this URL is determined by intention and we explain the intention down here so says you're searching for chocolate and we search near 25 so you can do anything you say well I'm looking for Cadbury well let's see let's see if it fixes that yeah look at that autocorrected as Hornby thanks to Google and it found the brand of Cadbury to be able to see what all the Cadbury products are that are available yeah it will yeah yeah it will correct yeah so just long doing latitude and the short name of that particularly geocoding so the question was are we caching the geocoding what happens when we get it returned or are we having a request that from Google each time we do case that but if you do a new search it will do it's only on this search command which does the geocoding as well as this little button down here which is better on the homepage where you can say figure it out where I am I don't know if it's going to work give me a wavering in yeah that one there we'll do it no that's just HTML5's geocoding API doing that and then we send the long-due latitude we get from that we send that to Google it returns us the readable name and we store that in the session so now if I was to search for I just want to find chocolate it's going to find chocolate near Waverly oh maybe not chocolate near Sydney no products only yep we get that question a lot or online stores we don't do online stores either it's just physical locates there are other services online which lists those ones fairly local just about local products available in local stores right be honest