 Hi, I'm Rachel from the Drupal Association. I just want to thank everyone for coming out this morning. So we've got two great presentations for you. The first is Jim Bernardo from Avalara, or no, Avalara. Avalara. They even practice. And then next we'll have Kevin and Luke from Breakthrough Technologies. So thank you for coming. Thanks, Rachel. Good morning, everybody. How are we doing? Last day hanging in there, right? So we've got two pretty meaty presentations in the space of an hour. So I will try and rip through my slides as quickly as possible. But what I'll ask is if you have questions, grab me after the presentation. Or if you want to sit through the... I'm not trying to steal your people. We're down in booth 410 if you want to come down and ask questions afterwards. So presentation this morning is about sales tax. I'll tell you a little bit about the company I work for. We're basically a bunch of software geeks and a bunch of sales tax geeks. So a lot of ex-state auditors, tax attorneys, CPAs, et cetera. And what we do is we actually provide end-to-end sales tax compliance for Drupal commerce merchants, right? So what we're going to talk about today is sales tax. Boring, right? We'll talk about what do you need to know? Why do you have to collect? Where, when, and what? And my head's about to explode. Please make the pain go away. What we find a lot with merchants, particularly smaller merchants, is that much as this presentation is on the very last day of the conference and it's almost an afterthought, a lot of merchants think about sales tax as almost an afterthought or they don't worry about it or pay attention to it until it's too late. And too late often means that it's the day before they're putting up their storefront or they've been doing business for a while and suddenly find out they're getting audited by a state. Sales tax, you know, is an obligation that merchants have in the same way that, you know, payroll is an obligation you have, right? You have to pay the people that work for you. But it's a cost of doing business. It's not something that adds revenue. It's not something that adds to the bottom line. It takes away valuable resources for other things, from other things. And besides, a lot of people think it's pretty straightforward, right? And the fact of the matter is it's actually not. So this is a chart from a study that the Census Bureau does every year. They haven't published or maybe they have by now, but they haven't published the 2013 chart. But basically what you can see from this is that, you know, general sales and grocery seats taxes make up nearly a third of the average state's budget, right? So if you wonder whether states are motivated to make sure that they're, that you or merchants are collecting all the sales taxes that they should be, it's a third of their budget, so absolutely they are. There are 46 states in the United States that charge sales tax, and four states and the District of Columbia that do not. We won't do the pop quiz, but so where are we as merchants in this whole sales tax morass? So under the Constitution of the United States, the Congress has the power to regulate interstate commerce. And so far they have not. So what's happened is that, at least in the area of e-commerce, they have not. So what's happened is that states have passed their own laws and regulations, and many of those have been challenged in court. The courts have for the most part let the state laws stand because they've been very reticent and the U.S. Supreme Court have been very reticent to draw a hard line in the sand because again it's Congress's authority to do that regulation and they don't want to legislate in the court. Most recent example of that is right after Cyber Monday last year, the U.S. Supreme Court let stand a New York law. It was called an Amazon law, right? So I think it was Amazon and Overstock.com that had actually challenged the New York state law that said that if you use what they call click-through affiliates, so if you have a banner ad that runs on somebody's page that has nexus in the state of New York and you compensate that vendor of that website for every click-through from that site, they are considered to be an affiliate, you are therefore considered to have nexus in New York state and compelled to actually collect sales tax. So Amazon and Overstock challenged that and went all the way up to the U.S. Supreme Court and as has happened many times in the past, the court declined to hear the case, leaving the New York law in place, right? So states have taken it on themselves to actually figure this out. Now, there is a piece of legislation that is pending called the Marketplace Fairness Act and it was actually passed in 2013 by the Senate, but the House of Representatives has yet to take it up and with an election cycle coming up, they're pretty unlikely to take it up for probably another year or two. But essentially what the Marketplace Fairness Act would do if it passed is affect all companies that conduct interstate retail transactions, so remote sales. You live in Alabama, you have a bricks and mortar store in Alabama, but you have a website, you're selling to customers in California and Washington in any of the 50 states, you would be covered under the MFA at a certain monetary threshold and as the legislation is currently written, I think it's a $10 million in annual sales threshold and above that you would be required to collect tax. The benefit, if there is one, to the Marketplace Fairness Act is that it is aimed at simplifying and streamlining the processes across the states for registering as a vendor, filing and remitting and so on. So because right now every state and in many states, many municipalities have their own rules about how you have to file, when you have to pay, et cetera. So MFA would actually help that a little bit. So I'm going to blow through, and again, this is a business presentation, right? This is not a technical presentation, but I want to walk through some of the biggest sales tax challenges that our customers are seeing over and over again and some suggestions about what we think we ought to do about that. And we'll cover things like broadening definitions of nexus, changes in product and service taxability, finding the right rate. You know, it's not really ever a very simple thing to find the exact right rate. Tracking sales tax holidays, managing certificates, remitting, preparing for an audit, and then automating the whole process, right? So the first thing that, as a merchant, that you need to worry about is where you have nexus, right? And nexus is defined pretty simply as a substantial, well, has been defined pretty simply as a substantial physical presence which creates the requirement to collect and remit sales tax. Now, there's a famous decision. If you have been doing commerce for any period of time, you're probably familiar with the quill decision which is what the courts have relied on for the definition of a substantial physical presence. But what's happened with the Congress not doing anything is states have begun drafting their own rules and laws about nexus. So for example, in the state of Florida, I believe it is, if you attend a total of 15 days of trade shows in the course of a year in the state of Florida, you are considered to have nexus in the state of Florida and therefore required to collect sales tax. By the way, in Florida, if you sell something to somebody who visited your booth at a show, but you don't sell it to them until a week later when they're back home and you're back home and oh, by the way, you've met the nexus requirement of 15 days, you're still required to collect Florida state tax, even though the actual transaction happens after the show, right? So there are all sorts of really arcane laws across the states about what constitutes nexus. So, you know, it's not just physical presence. It can be warehouses in other states. It can be the use of drop shippers in other states. It can create nexus for you in those states. If you have a business license to do business in a particular state, even if you have no employees, domiciled there, no physical buildings there, having a business license in a particular state can invoke nexus. And then again, we talked about things like the Amazon laws, right? So the point behind all of this is that every time that the courts refuse to draw a hard line in the sand, states are taking more and more encouragement from that to come up with increasingly creative definitions of what nexus constitutes in their particular state, and you should expect to see more, not less of that throughout the rest of this year and into next. Second big challenge we see is product and service taxability, right? So in my home state of Washington, for example, is candy taxable? Right? In most states it is, right? In the state of Washington, if one of the first three primary ingredients of that candy bar is flour, it is therefore considered to be food and not taxable. So Hershey's bar is taxable, a Twix bar is not, right? Weird stuff. State of Kansas, if I run a Christmas tree farm and I buy a forklift and I'm only going to use that forklift to move trees around the farm, the purchase of that forklift is tax exempt. If I'm going to use it for any other purpose, it's not. Right? So just all sorts of really, really strange rules about product taxability, and increasingly, by the way, intangible things are getting some fairly interesting laws across the states about taxability. So digital downloads, services, you know, we had a customer who sold work out equipment to gyms, right? And they would deliver them to the gyms, and they didn't charge tax on the delivery to the gyms because they thought that they weren't required to. State came back to them and said, are those already pre-assembled when you deliver them? And they said, no, we assemble them on site. Installation services, those are taxable. And I think they ended up owing the state about $500,000 in back taxes and penalties, right? Things like specialized training, project-related staff hours, food, drugs, and clothes. If you're, you know, depressed and your doctor prescribes you antidepressants, in most states that's not taxable. If your cat is depressed and your veterinarian prescribes antidepressants for your cats, they are. The state of New York, if you buy a jacket that's $110, not taxable, you buy a jacket that's $110.99, taxable. And the entire amount is taxable, not just the amount over $110. Pennsylvania, you buy clothes, most cases, not taxable. Buy a tuxedo, luxury good, taxable. So all sorts of rules about what constitutes taxability of something and what does not. Quick quiz. Is this taxable in the state of California? Right? If I walk into a Best Buy store and buy Adobe Acrobat in a box, it's taxable. If I go to Adobe Site and download it digitally, it's not. Right? Digital goods are a really interesting area right now for product taxability because, again, there are as many different rules about this as there are states. Some states will charge you sales tax on digital goods under certain circumstances. So, for example, if you go into a store, hook up to a kiosk and download a song onto your, you know, your MP3 player in Pennsylvania, that is considered to be taxable at the source. So you pay the Pennsylvania State tax on that. But if you go to that company's website and download it, it's not. In Alabama. Alabama is an example that does not differentiate between intangible goods and tangible goods. Right? So they have no special laws regarding digital goods. Their definition of tangible goods is anything perceptible by the senses. Right? Which basically means anything you buy is taxable in the state of Alabama. So, keeping abreast of all these product taxability laws and changes that happen to them. By the way, in 2013, I think we saw something approaching 1,500 changes in rules, rates, and boundaries across the US. Right? If you're a small merchant, keeping up with that is, you know, for all practical purposes, impossible to do. How do you figure out what the right rate is? Right? Taxing jurisdictions, a lot of people think that they can get the job done with zip code tables. Right? Zip code tables, zip codes were not built for doing product taxation. They were built for delivering the mail. And there are a lot of states like my home state of Washington or the state of Colorado or a number of others where the tax rate is not the tax rate that's published by the state. And within a zip code, the sales tax rate can vary fairly substantially. So, you know, Valerie, who's also here from Avalara, we both live in the state of Washington. If we live three doors away from one another, our sales tax rate can differ by a couple of percentage points because I'm closer to a football stadium or I'm in a part of the county where there's a transit tax that doesn't exist where she is. And we're right on the border, right? When I first started with Avalara, when we were in training, we did an exercise where we actually called the Department of Revenue in the state of Missouri. And we said, you know, we're making a sale. We described what that sale was going to be. What's the tax rate? And the DOR rep told us it was 2.9%. When we went back and actually checked, there was a county tax, some sort of special taxing jurisdiction, and something else. But there were three additional sales tax levies in addition to the state tax that actually brought the correct tax for that transaction to 6.5%. So even the DOR rep was not aware of what the proper tax rate was for that particular address. So, zip codes, two-blunted instrument for calculating sales tax, and we'll get you into trouble if an auditor comes calling. By the way, you say, hey, I called the rep at the DOR, and they told me the rate was 2.9%. An auditor is going to look at you and say, what rep? What was that rep's employee number? What date did you call? Right? If you don't have all of that information, it's not going to be sufficient for an auditor for you to say, I called the DOR, and that's what they told me. So here's another example of what I was just describing. Here's an address outside of In-Commerce, Colorado, and in this particular case, the tax rate is 8.35%. And that's composed of Colorado State Tax of 2.9, Adams County Commerce City, Denver Area Transit Tax, and Denver Metro Football Tax. Right? Whoops. You go to this address, also in the same space. There's a couple doors away, and the tax rate is 4.8% because there's no transit or there's no county tax. So what comprises the correct rate that you need to charge a customer can vary widely within the same zip code. So don't use them. Don't use zip codes. It'll keep you safe. Sales tax holidays. A lot of states do these and do them typically around the start of the school year. So things like paper, pencils, rulers, those kinds of things like clothing within a certain threshold will be considered to be tax exempt. Most of the vendors for whom that is their business will understand when those sales tax holidays are. We had another customer who operates a dive shop in Florida. By the way, happened to sell paper and pencils. Did not realize that during a sales tax holiday, they also had to exempt sales tax on those purchases because they sold products that were covered during a sales tax holiday. And the other thing you'll find a lot is states will set up tax-free zones or enterprise development zones where they'll give special rates, special breaks to businesses in order to foster development in those areas. And again, that can have a pretty substantial impact on determining what the right sales tax rate is that you have to charge a customer. By the way, expect more holidays and exemptions certificates. If you do business with customers who are exempt across the board or for particular type of purchase or at a certain time of year, the burden is on you to, number one, understand what they're exempt for, make sure that you have a valid certificate and that you keep track of whether that certificate has expired or not. It would probably blow your mind to know the number of people we talk to who manage those in a filing cabinet and Tom, the accountant is the one that goes and pulls those out. The reason that certificate management is especially important is because exempt sales if you get audited are going to be the very first focus of an auditor because they are low-hanging fruit. So they will ask to see a representative sample of the zero-tax sales that you did. If you don't have let's say that you did they look at a sample of 10 which they would never look at a sample that small but if you don't have certificates that are valid for two out of those 10 transactions they will then apply a formula that says 20% of your exempt transactions during the course of the year were actually not valid and states will use a look-back period so they don't look just at those two. They'll say 20% for the last five years. Here in the state of Texas it's 20% for however far back they want to look and you don't at the end of an audit when they find gaps like that it's not just okay I'll pay the tax I didn't collect sorry about that you'll pay fines, you'll pay penalties, you'll pay interest and oh by the way if you've been audited this year and failed an audit in any way guess what will happen next year. Now the other thing about audits is that a lot of companies figure you know I'm below the radar right I'm not really doing enough that's going to trigger a state audit but it's not always individual companies that are focused on audits sometimes state auditors will target particular types of businesses right so last year they audited you know a hundred different businesses in a certain space clothing and apparel let's say and you're just a little souvenir shop that sells t-shirts and hats so you don't think you're going to be audited but because they did a hundred audits of clothing and apparel stores last year and thirty of those failed they're going to focus this year on clothing and apparel stores including stores like yours now if you don't believe that in 2013 California hired an additional hundred state auditors on top of what they already had the state of Idaho that mecca of e-commerce hired 45 new auditors they're not doing this because they got extra money in the state budgets they're doing it because they know that there is uncollected sales tax out there that they can go get their hands on another statistic from I want to say it's the census bureau but I don't think that's true in 2013 it was estimated that across the 50 states in the US there was a collective budget deficit of about 55 billion dollars across all the states 23 and a half billion of that was attributed to uncollected sales tax so states are highly motivated to come out and make sure that you are collecting properly remitting properly and remitting everything that you should which brings me to remitting one of the most important things when you're a vendor is making sure that you meet deadlines for remittance to the state some states will require you to remit early some states will require you to remit monthly some states quarterly again it's up to you to be sure that you know what your obligations are in each state in which you have nexus and do business and to use the correct forms and formats now I don't know if any of you has ever prepared a return for a state it ain't simple again this is something they taught us in training when I first started with the company they had us do a very simple return to the state of Missouri and it took every one of the teams in our training class literally 5 or 6 hours to prepare what was a very very simple return right because of course it's a government form so that's not going to be particularly simple so avoid common errors that can trigger an audit when it comes to remitting failing to prepay in places where that's in states where that's required paying late paying incorrect jurisdiction state like the example I showed you like Colorado or my state of Washington or other states where there's sort of a multi level tax you don't just turn in a return to the state of Colorado you got to do one for Denver you got to do one for Adams County whatever the county was there for any special taxing jurisdiction there and again it's going to be different in Colorado than it is in Washington than it is in Missouri than it is in Texas so you've got to keep track of and make sure that you are accurately remitting to each taxing jurisdiction where you had to collect the sales tax next thing preparing for an audit an audit is like getting the flu it's not going to not happen the question is when is it going to happen and how bad is it going to hit you so first and foremost the most important thing that you can do to audit proof your business is make sure that you're collecting properly and where you have nexus understand product taxability requirements understand the complexity of sales tax in each of those states where you're doing business stay up to date with the changes and as I told you we logged almost 1500 of them across the U.S. last year and document everything document your transaction history make sure you're managing exemption certificates accurately that they're up to date that they're not expired they're not used for sales for which they don't apply make sure you're doing reporting and filing the way that you need to do keep in mind always that while you may be a small business and therefore have a lower risk of sort of hitting an auditor's radar that doesn't mean that you won't it may be only because you're in an industry that's a target of the auditor's for a particular state that year right last thing how do you deal with all this right the fact of the matter is the whole reason that companies like Avalara and businesses because it's a pain in the neck I mean we literally have close to 80 people that are former auditor's tax attorneys CPAs et cetera whose full time job it is to talk to departments of revenue keep track of changes in the laws look from state to state at boundary so that we are able to provide the most up to date content for calculating tax accurately, remitting, filing reporting et cetera in fact currently there are five states might be a little bit more than that there are five states that have actually purchased our content as the basis for their tax information because we keep it that accurate there are 24 states in the U.S. that are part of something called the streamlined sales tax alliance if you guys are not familiar with that I think it's sst.org on the web and basically SST is sort of a model for the marketplace fairness act it's a bunch of states that have banded together to, as the name implies streamline the process for merchants of you know collecting, remitting reporting, filing, sales tax across those states so they'll provide services like you know if you want they have one registration process for all the states in SST will honor for registering as a vendor in those 24 states they will allow you to do one remittance payment per state and then they will take on the task or through the SST the task is taken on of dividing that up and remitting it properly by the way it's us that are doing that for the SST states also for those vendors who are volunteers in the SST that's what they call it if you sign up you're willing to participate you're considered to be a volunteer if you are a volunteer to SST and you are audited by one of the SST states it's actually our data that they will audit not yours so huge benefit if you live in one of those states to become a volunteer but point behind all of this is in the same way that you probably don't manually manage payroll you don't have somebody sitting in a room calculating taxes and handwriting checks you don't want to manually manage sales tax if you can all avoid it for the simple reason that it is hairy it's complex it is boring as sin at the end of the day but there is just way way too much to deal with or to have a couple of people in your organization deal with it doesn't add to your bottom line in the same way you wouldn't do payroll manually we would strongly recommend you not do sales tax manually get a solution that automates it for you obviously we like ours by the way we do have Avalara has a connector an integration with Drupal commerce which is available for free there is a cost for the service itself but you can download that connector if you go to the commerce guys marketplace and look for us over there there is a link to download the connector and install it so let's sum it all up and get to the end so we can turn over to these guys sales tax compliance extremely dynamic it never stays the same year to year in a lot of cases month to month in some states and keeping up is just virtually impossible accuracy and solid record keeping are absolutely critical because when you get audited and you will the more accurate your information is the more likely you are to escape the audit without significant penalties and fines do it manually will failure will fail and failure has some very real financial implications for the viability of your business so whether you look at my product or other solutions on the market there is a huge benefit to investing in sales tax automation for your business 10 tips for you to limit your audit exposure first thing that you want to do if you haven't done this already is figure out where you have nexus and don't try and do that on your own ask your accountants to do it it's a service that we and some other vendors offer as well but understand in which states you have nexus and you may think it's pretty simple because you live in texas and you figure that you don't have to charge tax on any transactions that happen with customers out of state you'd be wrong about that so make sure that you understand where you have nexus stay up to date with rate rule and boundary changes best way to do that is let someone else do it for you oh report consumers use tax did you guys know that in most states even if I make a purchase that is tax exempt for some reason not because the vendor doesn't need to charge me tax because of the rules of the state in most states I'm actually required as the purchaser to report and pay sales tax to my state for that purchase not many of us do in fact I don't know too many of us at all that do and the states are probably not going to come after us but they are going to go after the vendors themselves so make sure that you report that as well be compliant from the beginning and always don't think that you can get away with not doing this it is a legal obligation you have as an agent of the states in which you do business so ensure that you are compliant from the beginning automate with technology it will make your life much better make sure you know your filing requirements calculate tax accurately we actually have a technology that will calculate down to the rooftop for those examples where the tax rate is different from your tax rate and you live two doors down from me simply because of a particular special taxing jurisdiction or something like that so being able to calculate tax down to the rooftop not with zip codes is really important no product taxability understand what's taxable and what's not again very complex keep comprehensive records and automate certificate management if you do nothing else on here because again if you get audited this is the first thing that an auditor is going to look at and they will burn you hard for any zero tax transactions that were not supposed to be zero tax transactions a little bit about Avalara which I'll skip over if you're interested in knowing more about us we're in booth 410 downstairs come and see us and also as I said visit us on the commerce guys marketplace you can download the module from there and depending on the volume of transactions that you're doing your customers are doing the service starts as little as $9 a month so this is not a ridiculously expensive you know cost to make sure that you don't get burned if you want to learn more about us a couple different places follow us on twitter look at us on youtube if you go on youtube and do a search so our channel is youtube slash Avalara 1 if you do a search for Wills Whiteboard we have a guy that does these two to three minute very entertaining extremely informative videos on particular tax topics they're fun to watch go check them out like us on facebook etc and please fill out an evaluation and that's it and I got in right under the wire so thank you all very much I'll be hanging around outside the room or down at our booth later today if you have questions or want to talk about this some more right thanks good morning everybody we're here to talk about whether Drupal should power your native mobile app how many people here have made a mobile app before one two three four a surprising number of people how many people have tied that native mobile app into Drupal before one person okay cool so just to get a feel for where you guys are at I'm going to start off by my name is Kevin I'm the association nonprofit engagement manager at where I work I mostly help nonprofits figure out how to use technologically and largely Drupal and this is Luke Anderson he's our director of content platforms and basically helps design the solution for the client as well and manage the team we're located in Chicago Illinois and our client that's going to be our example client is the Morton Arboretum and I you know if you'd asked me three years ago what an arboretum is I may not have known so they have about 1700 acres just outside of Chicago Illinois they're a living museum they put on cool shows with trees and lasers and such they have about 22 over 200,000 plants it's it's an amazing number they have a really cool maze that we get to go in when we visit there and giant bugs they're like 15 feet tall they have really cool activities like rope bridges and you can go dog sledding there it's pretty cool and one of the things I loved about working with them they work with NASA sometimes NASA goes there to do experiments so it's a pretty cool place we built them a responsive website in Drupal however their members still wanted an app they wanted to see more and do more and the the arboretum in general really want to engage their members to get them more out into the arboretum to see more do more and to get away from the lake and the children's area that most people were doing already I already mentioned a nice little responsive app website for them but the app wasn't going to duplicate anything that was already on the website I'll turn it over to Luke can everybody hear me okay so what we were looking at and this is my role in the project starts when Kevin's ends basically as the sales guy he answered over to me and I need to put on my project manager hat so I lead the development team but I'm not a developer I'm just a site builder what we had was we had a Drupal site that was almost done and we decided we had to marry it to Apple so we wanted to have the we wanted to have a good plan we wanted to work closely with the team at Morton and we had to we started with the requirements in design that had come out of the sales process and we were able to keep those pretty tight and maintain most of what was sold without too many changes at all which was really good the other planning we had to do to keep this going we worked a lot with content modeling we're going to show you in a little bit about wayfinding in the application and there was some debate at some point of whether or not we needed to do actual content with wayfinding text that would say if you're starting with the giant bugs and you want to go to the trees with the lasers look south, walk 500 yards and off to your right there will be the laser trees or something like that and we went to the client that they didn't want to maintain all that content and we went with maps for wayfinding instead so a lot of content modeling discussions early on we did the content type build out and then we were planning to do the database calls set up the JSON so that the app could hit the data coming out of Drupal and then build in the design implementation we wanted to do all the design on the app side not the Drupal content side and then the third party integration finally content population get everything right so we submit it to the app store and test the heck out of it because there's a lot that can go wrong so I want you to use your imagination for a minute and pretend that you really love trees and you love trees so much that as soon as we're done with this presentation or maybe you can wait until the end of Drupalcon you're going to get in your car and you pile up the kids and you're going to drive all the way to Chicago to go to the Morton Arboretum in the world they actually certify other Arboreta around the world they're a really big deal so maybe if you really love trees this is like Disney World for you you're going to pack up the kids and you're going to make a road trip out of it so on the way you can get on the phone or if someone else is driving you can use your app and you can go to their website and create a membership account and then you can download the app and punch in your membership information and pay for your membership or pay anything at the gate or anything like that so one key use case that they wanted was the membership card functionality if you're on your way there this afternoon this evening you can drive all night you don't want to wait for the membership card to come in the mail it's going to be on your phone immediately this has nothing to do with Drupal this is purely native app code so this part is not part of our integration and we'll talk more about that later so when you get to the Arboretum you've been driving all night you're exhausted you don't want to even go in the visitor center and get a paper map you want to get right out of the car and start going to all the cool points of interest they have around the Arboretum so you can see all the red push pins on the map the map is right there in your pocket and you touch a push pin you get a little pop up and you get the display of the node coming out of Drupal for the children's garden that's exactly the same body content point of interest if they want the same content that shows up on the website but it's presented differently kind of nice and tight inside the native app experience so I'm going too fast they can also choose they may have many dozens of points of interest on the website and many things that they want to list in a view but they don't necessarily want to clutter up the map in the app with all those red push pins so they can select in Drupal with a checkbox expose this to the app or not so that you can have not such a cluttered map of the Arboretum there so the actual fields in Drupal for this that are used by the app are obviously the images and the body text, the title we've also got the Latin long so that the map knows where to place it and that's really all that we have to fetch we're not getting the HTML to render it from Drupal just fetching the actual data so so you get out of the car, you're with your kids you're walking around and you've got 20, 30, 40 red push pins on your little map you don't want to do this the whole time to try to figure out what to see so the nice people at the Arboretum had planned this out and thought about setting up tours where they can organize the push pins the little points of interest into series that would go well for certain contexts or certain audiences time if you're willing to walk or bike a certain distance you can kind of choose a tour which is really a node it's got an image and a description and then it's got entity references to points of interest so that they can organize the 7 or 8 things in the tour 7 or 8 points of interest into a particular tour it's a many to many relationship so you can have the maze garden which I think is the coolest part of the Arboretum I used to go there when I was a kid on the Arboretum highlights tour and also on the children's favorites tour but the visitor center and the parking lot you may want to expose those on the map but not put them really in any of the tours so it's totally open there's no limitations about how you set up your data model for that alright so you're walking around with your kids you choose to go for the fun for kids tour and you're looking around at let's say there's 5 stops on this particular tour 5 points of interest and you've gone to 2 of them and you want to see where the 3rd, 1 4th, 1 5th you are limiting now the map view in the context of the tour so that you're only seeing the points of interest that are showing up there so this is a view specific to this tour as opposed to the map view that is the entire set of points of interest that have been exposed to the app check out point 5 that's a ways on the tour right and that was a great example of when we talked about wayfinding with content that would give you directions to point number 5 from all of the other possible points you could walk from would be really complicated for that so even though we thought if you're only going to organize a certain number of tours you could probably come up with that text and guide people they said why don't we just rely on the app rely on the map in the app to do that so you can see with the nice high res satellite imagery that Apple gives us you can see the paths you can see the directions in Google Maps or something like that you really need to just look at how you're going to walk there don't step on any of the special plants but you can stay on the paths and get from one place to another ok so just like when you go to Disney World with your kids if you go to the Arboretum and you love trees so much you don't want to waste a moment so you want to keep track of where you've been and where you haven't been what you can do is as you go to the maze garden the little circle you touch that and it goes from saying visited to saying visited because you've been to that stop on that tour and when you've touched all of those little circles for that tour you get credit for having completed a tour and you get a new title so if you visit one tour these are the actual titles that you get in the app today you can go download it right now while I'm talking if you want the Arboretum Explorer is the person who's only done one tour three tours it makes you a terrific tree hugger five tours you're a super steward and if you visit all the tours available to you in the app you actually get the deed and title to all 1700 acres you're the owner of the Arboretum no not really so we've got gamification you can visit stops on each tour and you can visit the entire tour and you get credit for that so that's really more or less the key features of the app and the integration that we set up to do that in this presentation I have to give you a bulleted list but they're really boring so I tried to make it fun so I'm going to show you a little bit of how we did each one of these pieces the little developer guy from XKCD that's us the development team this is the stuff we did mostly with custom code the Apple obviously is stuff we get from Apple and you'll see the Drupalcon in a second so the membership card integration was primarily custom code we did get some Apple functionality for the data entry field so you get the nice popups of the when you're punching in your zip code you get the calculator style keyboard so that you can only punch in numbers but when you're punching in your last name you get Apple's nice keyboard with all the letters and so on the data integration with the third party membership system and the rendering of the barcode inside the app that was custom stuff we didn't really get anything for that from Apple and the next big chunk as I talked about was the tours that's mostly Drupal we're pulling in JSON like I said from the app the app is reaching out and pulling JSON from the Drupal database the points of interest are Drupal content as well the gamification obviously is not it lives inside your app it's considered app data so when you back up your app if you're going to do the iCloud backup or an iOS upgrade or something like that that's stored in your device it has nothing to do with Drupal there's no login you're not creating an account in Drupal and having to stay logged in or anything like that gamification is just on the app finally the maps obviously we leveraged a lot of really nice features from the in-app mapping engine that Apple gives you and you get to choose the pushpin image that you want they talked about changing that we did not make them a little upside down Drupal console that would have been kind of fun and one thing I didn't talk about was the news content they also have a home screen for the app and a news screen for the app and if anybody's downloaded it and you're looking at it you can see that but those two screens are kind of interesting because they're Drupal content that is not appearing anywhere on the actual website they're only fed to the app and it's a special content type with basically just a body field and they can put links and things like that so if you pull it up you can look at it and it'll say interesting events today at the Arboretum and you can click on any of those links and it takes you to Safari to read about what's going on that day and it's a place for them to publish sort of maybe specials at the gift shop or something like that that news content is also basically just Drupal body field okay so why didn't we just do a responsive site and leave it at that well there were four obvious things that I've already covered but we'll just go over them again the main thing that could not have been done at all with the responsive site is the membership integration that we needed offline persistence for that so if you lose wifi or sell coverage you don't want to have to refresh and have it fail and you don't have your barcode and you're sitting there and the guy's got a call in your number and all that right so you want to be able to pull up your membership card once and it only checks once a day to see if you've expired that check is inside the app so you don't ever have to be connected to the internet until you renew the barcode stays in your app in your phone so that was one key piece location awareness obviously is much nicer inside the native map rather than in html5 you get a nice little pop up ux when you want to touch something touch a little push pin on the map gamification like I said is stored inside the app you don't have to log into anything and the really pixel perfect design you get nice ios animations and the slideshow for the images for each point of interest or the tour and so that's those are four of the main reasons we didn't do just stick with the responsive site although we're very proud of the responsive site we did obviously also push notifications to the app and they're really excited about using geofencing they have an urban airship account which we recommend it worked really well so they can push notifications to certain people only if they're inside the boundaries of the arboretum which is pretty cool and probably one of the big things for the executives that were really signing all the papers for this was they were getting a lot of interest in having an app at all just having a presence in the app store for the organization they have a large ios user base a lot of bird watchers that want to walk around the arboretum with their ipads and take pictures and look things up on the internet and all that you can imagine that having an app store presence is really important okay so why did we bother using Drupal at all well the obvious thing is they'd already been working with this content in their Drupal website they were familiar with Drupal like this is a very small version of what NPR did with the famous create once publish everywhere concept they can update the content in the app at a moment's notice if they find a spelling error or something like that they can change that and it shows up on the app the next time somebody loads it extensibility we really feel like hopefully they'll sign up for more work with us and they'll do more exciting things and it'll be easier to build that in and in addition we're not tied in so tightly to iOS that we couldn't do another platform in the future we've talked to them quite a bit about moving forward with an android version we'll be able to leverage a lot of the same logic and code that way so who and how did we do this this is the only technical slide like I said I'm not a developer much less an iOS developer I'm just a site builder but we have in the room you can wave your hand Eric Kersner was the lead Drupal dev and we have back in the office in Chicago Jim Collins was the lead iOS dev Michelle Seuss our designer building off the designs we had for the website itself we did use the services module everybody all week at the booth has been asking me so what did you use did you use services yes we use the services module it's actually a suite of modules there's four total modules in there the entity reference module we already had in place to do those to set up those tour to point of interest relationships and then like I said we expose both nodes and views as JSON on the iOS side what Jim did was pull in an HTML fragment for the body field of each one of these pieces of content and he rendered that in the app in CSS so we had that pixel perfect Apple look and feel we did not use the Drupal theme for this obviously and it's presented in an iOS UI web view if you've done iOS coding you know what that means I don't know what that means other tools he used were JSON model, AF networking for the images and MG box so that's the technical slide and Kevin's going to talk a little bit about one of our main challenges and I'll hand it over to him one of our biggest challenges is when we started building this app iOS 6 was standard and then iOS 7 happened and that was a bad thing iOS 7 when it came out broke about at least one feature in 95% of the apps in the app store including this one when we started to use it in the beta it broke a couple of our features so we had to go back to the client and say well iOS 7 is coming out, we've tried it on the beta some things don't work and we had to get a little bit of authorization for more budget to fix some of those bugs so that's definitely a challenge you may want to watch out for new versions of iOS we're crossing our fingers now that 8 has beta been released and we're trying it out soon in 8 to try and fix those bugs some of the other bigger challenges included the integration because there's always challenges from integration it's a third party source of data and it took a little bit of back and forth to get it right and then of course challenges involving Drupal was mostly involving getting the content ready in time when you're building an app the content doesn't necessarily seem real until there's an app to put it in that data entered in for the app but they had it in perfectly for the launch of the app content readiness and then the real question is should Drupal power your native mobile app and the real answer is maybe they were looking for some very specific things to do and they wanted to leverage Drupal because they already knew how to use it but in this case the presentation was a little better in a native format I'll let Luke cover this one Sure So if you can answer some of these questions as yes then they had a question of whether or not you should do your app the way we did it as a true hybrid of iOS and Drupal the answer is yes you feel like HTML5 isn't quite ready to have it work as smoothly and tightly and cleanly as you'd like integrating with the hardware features of your devices etc if speed is an issue and you're pulling JSON in then if you're rendering a whole HTML page if the requirements clearly demand both obviously there were some elements that really had to be done in the app it would have been much more difficult and expensive to do as HTML or as a responsive site and when the clients want what they want you got to give them what they want and this like I said in this case the client probably would not have been happy with anything other than a presence in the app store but be prepared you'll need and we have on staff iOS and Drupal devs solidly documented requirements this could have gone way off the rails if we weren't able to stick to what was signed off on for sales coordination with all the stakeholders plenty of devices for testing retina devices turned out to need a little bit more tweaking than the devices we started off testing with and committed content owners it really can be exhausting to wait and wait and wait to test a feature until people at the organization are confirming the content internally now the answer may be no if a responsive site really is enough you look at it you think about it and that's going to do everything you need then there's no reason to necessarily wrap that in an iOS app and put it on the app store if phone gaps, censure, et cetera will give you the app functionality that you need you probably don't need to code very much in iOS directly and if you don't have an iOS developer that you know and love and trust then you're not going to be able to do that as smoothly or if you hate Apple and Google and you believe in the web, the web, the web you don't want to build an app that's another argument for not doing it sorry so that's pretty much it the app launched in March they had about 3,000 downloads about 1,000 of those happened on the first day so there was a lot of interest in their membership they're looking towards an Android version they're very interested in possibly using iBeacon so that when people walk up to the point of interest it automatically marks it as visited and then there's some other ideas for trails and map enhancements and such, this is a version 1 app but so far so good are there any questions? yeah I'll ask Eric to come up here for a second Eric is one of our lead triple developers and really either would have worked in fact we spent some time with services getting it to act like the rest of the US I think the advantages of services it's more configurable you define your own endpoints and you could say this endpoint is going to be JSON this one is going to be XML and require some kind of schema definition library so if you know that you're just going to work with JSON then REST WS really works great services also gave us better integration with views at the time which is why we chose it but both would have worked I think the important thing is keeping it within the REST standards which REST WS does a great job like for example if you're requesting a point of interest you know it's a get request and the endpoint is exactly the same and what you change in is the HTTP header so can you come up to the microphone they're recording it for later go ahead and stay up here Eric I was wondering how much of the information is housed on the phone itself like if you're in the park cell reception how much of the HTML does it download and just not update if it doesn't have cell reception or if you have like an ipod touch and you've downloaded the app can you get a lot of the same functionality or and does it just how often does it update that you know the things it pulls from Drupal do you want to cover that one actually our iOS tab would be the guy to answer this more exactly but he's in Chicago I'm pretty sure that the way we ended up setting it up was that once you go to that any one of those nodes in there a point of interest or a tour that content's going to persist in your phone until it needs to look for it again so if you lose connectivity you're at the visitor center where there's wifi you load all the tours you're going to go to you can walk around all you want if you don't have connectivity but as soon as you try to touch something that you haven't downloaded obviously it can't fetch it so it'll just look empty you'll see the frame for it that was actually one of the things we had to think about in terms of preserving their budget was the fact that cellular connectivity was a requirement of the project there could be more persistence with a little bit of additional investment maybe you covered this already but end-to-end how long did it take you from concept to delivery? I think it was about a year actually we signed the papers in March and then they launched it in March so we signed the papers in March 2013 it was built in tandem with their website so the projects are sort of tied together for that reason yeah content readiness like I said was they were finalizing a lot of things in the website which launched in August I believe so there was a lot of back and forth about which kinds of content they wanted to expose and all that kind of thing so that was a big part of it that was it's also the first time we did this hi there, thanks for your presentation it's really interesting so you mentioned Phone Gap briefly there which maybe now is Adobe Cordova I wonder if any of you have had any experience with that or if anybody in the room has in terms of like allowing a multi device Drupal hooked in a platform kind of similar to this and what things in your app that you needed you couldn't do say with Cordova or Phone Gap or something we've used a couple of frameworks for mobile development in the past we've tried out Sencha we've used Phone Gap in coordination with Sencha a couple of times and it's less the 80-20 rule when working with some of these frameworks and more of the 50-50 rule where you're leaving 50% of the features you want on the table because you can only do so much with those frameworks at this time and we also had a lot of issues with Morton Arboretum had a certain image that they needed to represent and it's really hard to get Sencha or some of these other frameworks to look the way you would like them to look at this point they look fairly basic but depending on what you're trying to do those frameworks could be good options they had a very specific look they were going for and then some of the other features that were specific to the OS were a native app for that OS but we do have a mobile app framework inventory data sheet at our booth so if you want to pick one up and see the different frameworks that we've played with we're happy to tell you what level of success we've had with them the style and then to some degree and they're ever changing some of our issues with using some of these frameworks is that they're changing so fast that when you actually talk to the community about what to do next they're three versions ahead or three versions behind so it's a little scattered at this time but there's lots of good options and we hope that they continue to do better because it'd be great to publish for all platforms at one time that is a good point they are getting better last time I used Sencha I found just sliding between images you had to slide perfectly otherwise the whole screen will move instead of just your image so it's the same deal just using a framework or native both are good options and we're happy to share our experiences or other people's Rachel's waiting but we've got one more question go ahead what would be the cost difference between using something like PhoneGap versus native iOS our projects where we've used different frameworks in terms of cost and time but there's always a lot of experimentation with the different frameworks because they're changing so quickly I think that's it as far as time is concerned thank you everybody for coming out feel free to stop by our booth we're happy to tell you more