A cloud-based application usually has to integrate with many data sources – in this make all episode, I talk with Joe Dwyer about how his company, PropelWare architects that solution.
In this discussion we do a good job of pulling out some best practices and tips for others who’re in similar architectural circumstances.
Download the episode directly right here, subscribe to the feed in iTunes or other podcatcher to have episodes downloaded automatically, or just click play below to listen to it right here:
Show Notes
- PropelWare’s solutions integrate with many accounting services, PaaS’s, SaaS’s, and other “cloud-based” services. One of their primary integrations is with Intuit’s Partner Platform, giving them access to QuickBooks.
- We talk about how it fits in and what services are used, etc.
- I ask about the rise in mobile usage and what it ends up looking for their customers.
- I test one of my pet theories: does simple API mean interop matters less?
- Is there a common models between these accounting things?
- Feelings about switch to SaaS usage among customers? Are they afraid, happy – do they even notice?
- Azure usage for Office Manager.
- Their experience in the mobile world: what are some lessons learned.
Transcript
Michael Coté: Well, hello everybody! This is another edition of make all the, podcast about fun and interesting stuff in the software development world, and just kind of the wacky world of computers as it were. This is your host, Michael Coté, available at People Over Process as always.
We’re joined this time, again, by someone else from the Intuit sort of ecosystem or community if you will, which, it’s always a fun story to see how people are extending that big hunk of data and process out there. So with that, do you want to give an introduction to yourself?
Joe Dwyer: Yeah, this is Joe Dwyer from Propelware.
Michael Coté: So your website as your name implies is Propelware.com. You have a pretty straightforward way of putting out the different products that you have on the website there, and I personally like that they end with the cutsey-like “f-y” end phrase there. I’m always looking for fun names like that, but could you give us like a quick overview of the sort of three products that you guys are working on?
Joe Dwyer: Yeah, so the product that we have — Autofy is our main product and that stems from the combination of words, Automatic and Simplify. So what we do is we try to automate processes that small businesses use when they run QuickBooks. So, with Autofy, you can do things like automatically bring across eCommerce transactions from your shopping cart, also submitting the data entry that goes along with that, a process.
And things like Synchronize, other systems that you undoubtedly use with QuickBooks, which are CRM systems, budget management systems and other applications you may have, crated or used along the way, we make it easy to integrate that data back and forth.
Our other products, MobileBiz is QuickBooks for mobile phones. I’d say it’s a little bit more of a light-hearted application because of the mobile aspect of it, and things like that, but essentially you can enable a few of the basic workflows of QuickBooks, onto your mobile phone, for just creating invoices and things like that, and synchronize those up into our system, and then across into QuickBooks.
Michael Coté: So, I mean, by light-hearted, do you mean that every now and then, it sort of slips in a joke or something, or what’s the light-hearted aspect of it?
Joe Dwyer: The light-hearted of it is, it’s a little bit more trendy application, we don’t typically roll it out to hundreds of users at a time, but people who have – they have real small businesses within QuickBooks, they’ve got either their sole proprietor or they’ve got five or ten employees, smaller companies that want to push some of their QuickBooks data entry to the front-office, to their sales staff, and Intuit is just a lightweight application. So, that’s what we look at, as a bit more light-hearted, it’s just light-weight, it’s not the full-blown QuickBooks or anything like that.
Michael Coté: Yeah — no, I like that disclaimer. I mean, I should start using that, because it’s — like you were saying, you could say light-weight, which is descriptive and everything, but it’s a little more fun to say light-hearted.
Joe Dwyer: Yeah, exactly, it is.
Michael Coté: It kind of humanizes it.
Joe Dwyer: That’s right.
Michael Coté: I’ve been fascinated to kind of see Intuit kind of transform QuickBooks too, what I would think of call a very traditional sort of desktop-bound application or something that is — yeah, as we would call it, now, sort of cloudified or whatever. I’m curious — I mean, how long have you been working with, integrating with QuickBooks?
Joe Dwyer: Yeah. So I’m a software developer by background. I started the company in 2000. So we’ve been in business in 2000. We’ve been very, very focused on that QuickBooks market since 2002, which was, literally version 1.0 up there SDK. We’ve been working in the QuickBooks integration space since 2002 and that spans their lifetime of both their SDK based system for outside developers and also with the Intuit Partner Platform that they launched a couple of years ago.
Michael Coté: So, you’re in a kind of a — I guess, that’s about ten years, essentially. It’s an interesting position to have seen the — I don’t know you would call, but the evolution from sort of native SDK integration to vary web service, or it’s services based, whether they were web services or other thing’s integration. Can you kind of speak to like what you’ve seen in that evolution from doing sort of binary desktop things, to more service-oriented things?
Joe Dwyer: Yeah, Intuit has been a — they’ve been a great partner for us to work with in their developer relations team and the Intuit Partner Platform team and those folks, and it’s really out of that team that built that original SDK. The core of that team also now provides the Intuit Partner Platform. It’s been great to work with, and we look at them in some ways they are two different things to work with.
One is, obviously, much more desktop-centric, it’s COM-based, things like that, very much meant for data to move in and out of QuickBooks on the desktop, whereas Intuit Partner Platform, where it becomes more cloud-based, you’re still at the end of the day interacting with QuickBooks data, which lives on the desktop, what you’re doing is more through web services, and from the web, from the browser-based applications.
So they are very different, and the look and feel of them, in the way you interact with them as a developer is very different with authentication and all those sorts of things that go along with taking data like this to the web, but the people at Intuit are very much the same people, the same community and things like that, which provide those types of tools. So it’s been a nice —
Michael Coté: It sounds like it really is sort of just — programmers are always trying to reduce things down to it, it’s just a tool that does the same thing, right. It sounds like to some sense, it’s sort of the same backend, no matter what, and it’s really just different tools you’re using to access this data and workflow, whether it’s the native stuff or the IPP stuff.
Joe Dwyer: Yeah. With IPP, it is a little bit different, because they also wrapped a lot of authentication requirements onto this system and in tools that go along with that, whereas when you’re running a piece of software on the desktop, well, the end-user installs that software, when you are running it on the web, you need to make sure, the people that are logging into the system are authenticated properly, so there is a heavy dose of authentication.
Even within their web services, they’ve also tried to take it to the next level of building out a more complete system of it, more of a generic system, and things like that. So, the XML formats and the web services that you integrate with are a bit deeper, they’re just more there, more ramp up time, to get comfortable with and understand how they work and what they do and such.
Michael Coté: So, in this — I hesitate to call it new because it’s been around for a while, but relative to SDK-based ways of doing things, in kind of the new world of doing integration over like web services, like particularly looking at like your Autofy custom stuff, you guys also integrate with like Salesforce and Peachtree and other stuff.
I wonder, is there a lot of commonality with those different things, or when you go to a different web services thing, is it sort of like a brand-new thing you have to learn, or is that more reusable?
Joe Dwyer: So, within the Autofy, and what we do with our Autofy custom system, you’re right, we integrate with QuickBooks, but also with Peachtree and [Microsoft] Great Plains and Salesforce, and even PayPal and eBay and some of these guys. Essentially, what we have done is we’ve created our own set of infrastructure, where we can move data back and forth between various systems.
When you look at integrating data directly with QuickBooks to either SDK or versus IPP, they are very different, they are different in a way in which we interact with them. But the types of data that people are moving in those systems that we work with within Autofy, an invoice is still just an invoice, a customer is still just a customer. They all have similar attributes.
So that’s where the power of Autofy comes into play is, we can take and create an invoice into Peachtree or into QuickBooks, via the IPP or via the desktop, or to Great Plains, because an invoice is just an invoice at the end of the day and so our system allows us to do that pretty well.
Michael Coté: I mean, as far as kind of giving advice to other people in the situation, and I would imagine this, but correct me if I’m wrong that you guys have sort of developed your own internal model of an invoice, and you’re sort of mapping the various different chunks of data, the various model from different systems to your intermediate model and then kind of transforming it back to another one or something like that.
Joe Dwyer: Yeah, you’re dead-on. That’s exactly what we’ve done, and ultimately, then our system becomes sort of a superset of the various fields that are contained within the various accounting systems.
So that’s exactly what we’ve done, and then the other part of it that we have done also is, to dynamically be able to switch back and forth between retrieving data from one location, entering into the other location. So for example, we can have a single application that will connect into QuickBooks or Peachtree live, without having to reinstall new pieces and things like that.
Michael Coté: Is that not knowing the — I don’t know, the small and medium accounting kind of world, perfectly, I mean, are there sort of industry standards for those kind of models, or is that, in other areas of development, it is always an attempt to have a standard around various models, but when it comes to accounting and invoices and stuff, I’m not sure if there is popular standards that are used.
Joe Dwyer: There really is no — there is no clear wining standard. There are industry groups out there that have tried to push through XML format and things like that for data interchange, but oftentimes the individual accounting packages don’t really reach to those. They all have their own ways of doing things and that sort of thing. So they don’t accept data that’s in those standard formats.
Of course, there is the — it’s similar to like the EDI world where you’ve got standard integration format for transferring data to relocate on locations, but when it gets down into the financial system, they end up being employed a bit different.
Michael Coté: Yeah, I mean it sounds like — obviously, to put it one way the container for the data is standardized or the protocol and all that. But sort of semantics or the meaning of the data isn’t always as standard and interoperable and everything like that.
Joe Dwyer: Yeah, that’s exactly right. And also, even the rules for entering data into the various systems become quite a bit different. For example, in QuickBooks, we have a pretty large infrastructure around determining is the data that one software or product is giving us, is that compatible with what we can get into QuickBooks?
So in an invoice that’s the customer exist, meaning name, address, phone number, all that sort of stuff, well, our Autofy system will automatically enter that.
Are there any other errors that we have to deal with, are the sales tax, so all of those things had to go along with just getting that single transaction into QuickBooks.
Michael Coté: Alright, so, when you are dealing with that with IPP, what’s the kind of support it gives you for that kind of verification in checking things out? That kind of data DMZ that you need to make sure things are in the right format to work with IPP?
Joe Dwyer: So with IPP what we are doing is with Autofy we’ve built that out, deep and wide with the QuickBooks traditional SDK. We are building that similar capabilities out with Intuit Partner Platform as it’s becoming more mature and things like that.
Also, the models always become a little bit different, because instead of Autofy being installed on your desktop, it’s now installed in a browser essentially. It essentially runs in a browser.
So moving data into QuickBooks via the IPP is really neat in that, it gives us these capabilities of creating invoices, all that sort of stuff, but you still have those same rules that need to be followed.
You can’t create an invoice unless you first set up the customer information and make sure that the features are done in the right order, that they are validated and all those sorts of things that go along with a standard invoicing or accounting model.
Michael Coté: Right, that makes sense. You mentioned something else that I was curious to hear about, especially with the kind of customer base that imagine you have and that’s that — with a lot of this stuff including the Intuit stuff and other things you integrate with, it’s more running out of the browser versus running out of a desktop application. Or with your light-hearted application, running off of something you are holding in your hand if you will.
So there is this kind of – the screen changes around a lot. And I wonder if — since 2000 like, how have users felt about that changing of the UI now-a-days? Have they even noticed or are they happy about it or is it a little bit of friction for them? How does that kind of play out?
Joe Dwyer: For us we ultimately have two different types of customers. One is the end-user who is using QuickBooks and oftentimes for those folks simpler is better. So the more we can set up Autofy and MobileBiz and our other software to be one-click friendly where it can be simple to set up, simple to use, automatic, then UI becomes secondary. You don’t need the nice Web 2.0ish sort of interaction and things like that.
The other core customers that we work with are software companies where they have a product and they wanted to integrate with QuickBooks or another accounting package and whether that’s through the SDK or the IPP, they are a software company and they want their software to integrate with those systems.
For them the UI becomes more important. You want it to look pretty, you want it to look nice, but at the end of the day they are going to deliver it also to the end customer who wants a simple one-click solution.
So they are a little bit different, where we need to spend a bit more time when we look at the user interfaces, make sure they are modern, make sure they are nice, but also make sure they are simple with software companies.
Michael Coté: I mean, it’s interesting because there is always this — I feel like there is always this tension with user experience and software where — obviously, to be tautological about it, you don’t want it to be terrible. You don’t want it to be complicated, and you also don’t want the user interface to be kind of baroque. Like I always call it like the Winamp user experience thing, right? I mean, if you remember Winamp, it was —
Joe Dwyer: Yes, that’s right.
Michael Coté: It’s one of these things you could add different skins to, and you could really just go crazy with the user interface to where you could, didn’t really even know how to use it, but it was very beautiful or pretty looking.
It’s interesting in the business context. It always seems like you were saying, the thing that trumps anything else is just simplicity, like almost — versus consumer web experience, or consumer software experience where the consumer wants, you want the user to be with the software as much as possible. It’s kind of, whether they are playing a game or they are looking up on Facebook or whatever, it’s kind of like you want them to be engaged with the software, but oftentimes, it’s not the majority of the time with business software; the longer they are using the business software, the poorer the user experience is.
Joe Dwyer: That’s exactly right, and that’s also where you look at QuickBooks, has been around for 15 years or more. So, people have grown with that application, and they use it and they use it and they use it day-in and day-out, whereas, with the Intuit Partner Platform, what’s being enabled is, applications that other people are using, or the enablement of different workflows, that can help people.
In QuickBooks, they need to solve problems for the four million companies that they serve; whereas a company like ours, we can roll out a new application with the new workflows around, the data that we integrate, and make it look and feel nice for customers and feel a unique niche.
One example of that is, we’re in the process right now of rolling a beta version of a new application called Propelware Office Manager, fully runs on the Intuit Partner Platform, also runs on the Windows Azure system and SQL Azure.
So this doesn’t have anything to be installed on the desktop computer, but it allows us to enable certain workflows that can be made simple and easier for those QuickBooks users, but also give them the nice Web 2.0ish sort of — and even just the overall web experience, being able to update your software on the fly, and all those sorts of things.
Michael Coté: Let’s peek into that Azure thing a little bit, like what made you select to deploy on top of that? I think most listeners will know what Azure is, but it’s basically what you would call Microsoft’s Platform-as-a-Service. I always think of it, my simplified way of thinking of what a PaaS or a platform is, is basically the middleware part of cloud computing, and that sort of provides you a place to run your software.
Joe Dwyer: Yeah, so with our Office Manager application, and work that we’ve been doing with IPP, we had started hosting it. We were on test environments and things like that here, on our local servers, but we needed a hosting platform that was obviously off-site, we don’t want to run it in our offices. And for us, we’re a software company, we’re not a hosting company, we’re not an IT infrastructure company, anything like that, so we needed good quality, 24×7 hosting that could scale for us, as we scaled our business application.
So we’ve done some of that hosting through Amazon EC2 system, but with Azure, when Azure came about and started becoming a bit more ready for primetime, we jumped over into that, and for us the big thing is that, we can run basically the hosting services, so basically, we’re running IIS and we’re running SQL Azure, all in a single place.
At the same time, we don’t have to worry about configuring IIS, or FTP, and worry about other ports that might be open in systems. We can put all of that into a SAS 70 environment, which Microsoft provides. We can also sell that to our customers by saying, we are taking security and hosting very seriously. So it’s through the Azure system, it’s not through — it’s obviously over and above what we could ever provide as a small business.
(00:19:54)
Michael Coté: Yeah, yeah, I have some friends who are starting up a SaaS-hosted thing themselves and they were kind of struggling with that kind of balance of efficiencies of running something on your own versus sort of the premium of giving your customers the warm and comfy that everything is very secure and compliant with everything.
So as a technologist it can be kind of a frustrating thing to deal with because they are sort of non-functional requirements if you will, but I don’t know. I mean, that’s kind of, one of the promises of cloud computing is that it’s not really — you don’t have to worry about these things that previously would have been so frustrating.
Joe Dwyer: Yeah, that’s right, and along the security road customers still ask about it, is my data secure? We’re running, this is financial data that we’re interacting with, and not credit card members, but still it’s a small business financial. And there is no way to show anyone the lockbox where their data is, it is sort of this abstract thing.
So to be able to explain security in a way where you say these are the systems that we provide are on Microsoft servers, people can connect with that very quickly.
Michael Coté: And now if I recall correctly Intuit, or IPP and Azure have sort of a tooling partnership at least with each other, are you guys using that?
Joe Dwyer: We are, and what we’ve done is — so we are using the toolkits that they’ve provided to connect IPP and Azure a bit more easily. What we’ve done is we’ve taken those tools, and Intuit has open-sourced some of those.
What we have done is we have taken them and tailored them for our own purposes. We have actually put, what I would say is sort of a next version around them, and we have made them a bit more generic for our own purposes, put a bit more power behind them. And the reason for that is, because part of what we are seeing some momentum around is our Autofy system running in an online world.
So we have clients right now and we have other prospects that are coming to us and saying, we have a web-based application, we wanted to connect into the Intuit Partner Platform, can you help us? And so we’ve taken their toolkits and are now basically enabling us to make it easier and more comfortible to get other companies connected into the Intuit Partner Platform via our tools running on Azure and things like that.
So in the coming months we will have other companies also running on Azure and the IPP where we are basically doing the development for them.
Michael Coté: Oh, right, so I mean, basically you are kind of — you are not sort of a cul-de-sac of the community if you will. I mean there are people that you are working with yourself, that are kind of building on top of what you’ve been doing.
Joe Dwyer: Exactly, exactly, and that’s part of our practice, that’s part of our Autofy system where if a software company comes with and they have some sort of a client server application, we can enable Autofy to get their data connected into QuickBooks, if they are a web-based system, and they wanted to take advantage of the Intuit Partner Platform, we can do that for them so they don’t have to go through the learning curve of the security model that IPP has and the web services they have and the QuickBooks or consolidation, all those sorts of things. We can take our tool, plug them in for them and get them connected up, typically faster and less expensive. Then they might be able to do it themselves.
Michael Coté: Yeah, so the last thing I was interested in talking with you about and we made reference to the light-hearted MobileBiz several times, or at least I have, and I am curious like what — this is kind of like at this point with the huge interest in mobile, it’s kind of a rhetorical question if you will. But I mean what, in your specific customer-base, like what was pushing you to do mobile stuff essentially, like what kind of finally pushed you over the age where you thought like, alright, we are going to do this?
Joe Dwyer: For me it happened way before any of the iPhone or anything like that. For me MobileBiz was the first place where we started working in the QuickBooks integration space. When we found out that QuickBooks was opening up in API, my first reaction was great, I can finally put QuickBooks on my PDA, and so that was — the cool, neat thing for me was to be able to create invoices wherever I am, from wherever I am, expenses, track expenses from wherever I am and through that into the PDA and have it go into QuickBooks.
So that was on old school PDA, and so over time, that there is just a momentum around that, but I have sort of — a lot of that has come out of my own desire to run the business in that way, and then of course now over time to sharing from customers and what they need and what they look for and things like that.
Joe Dwyer: Our mobile application — what we often hear is, we charge $7 a month for it. So it’s not one of these free applications that you download to your device, and you’re off and running and traveling with it. It really is an application that people look at us and say, this is good value for them when they want to bring their phone with them.
Michael Coté: And have you been experiencing, for lack of a better phrase, a kind of mobile bubble if you will? Whether there is a lot of interest and people do — a lot of interest in what you are doing back in the PDA days where people really want to move what they are doing with their software into their palm so to speak onto their phone versus on their desktop?
Joe Dwyer: Yeah, certainly over the last couple of years, especially a couple of years ago the world really changed where they don’t want it on their PDA, they want it on their phone. People are like carrying around one device. So certainly there was a mind-shift change there, but also just the volume. The number of people that we interact with, with that product has changed. Lots of people want it.
So we look at having to manage the various platforms of iPhone, Android, Windows Mobile, things like that. We are working as the new Windows Phone 7 for a launch of that platform, so that our MobileBiz system will be ready when it is launched as well.
So there is definitely a lot of momentum in that mobile space, but for us we very much — we are not a video game or anything like that or a 3D application.
Michael Coté: And I wonder in doing both PDA and sort of post-iPhone era mobile development: in the same way that we were kind of talking about the user experience with business software, sort of like make it as simple as possible so people don’t have to actually use it very much.
I wonder if there are best practices like that you discovered for business mobile applications like what are the ways you make the user happy with a software, when they are not like playing a game or whatever?
Joe Dwyer: Exactly, well, the funny thing is if you go back and you look at our original version of MobileBiz, the way that it worked was you could create an invoice on your PDA, but in order for you get that into QuickBooks you had to take and plug your PDA into your PC where QuickBooks is running. And then it will move the data back and forth. There was no such thing really as a data plan or as WiFi on my PDA, that stuff just wasn’t there.
So for us that transition happened — at some point we had to say, okay, we need to make this disconnect. We need to allow people to synchronize their data when they are not plugging it into their computer. It needs to do through the clouds or for the web, that sort of thing.
So for us, and I think for our users that really is a neat experience in and of itself where they can be completely disconnected, look at some of these transactions, look up a customer, create an invoice for them, but then send it back to home-based even when they are out and about. They don’t need to be connected to QuickBooks in order to get that data back into QuickBooks.
So that’s been a big thing, neither user experience, aspects of the application. Of course, it’s a small form factor and things like that, so those things are always important.
Michael Coté: I think you are right there. When I am using productivity apps to use another word for this kind of app or whatever, the thing that I will notice that’s missing is that it’s not really connected to the Internet, or it’s not really connected wirelessly if you will.
When you are doing that in the mobile world, I would imagine in most cases that means you guys have to host a server or something somewhere. How do you take care of that end point that you are sinking through, I guess?
Joe Dwyer: Yup, and so for us that essentially what we have is we have the mobile application. So the app lids on the mobile device we run a SQL Lite database on the device when it comes to do the data synchronization, you’re right, we send that up to our web-based platform. So that is now running on Azure.
So essentially what we have on Azure is a web service that we can connect from our mobile application into our web application and then from there we can sink the data into QuickBooks via the Intuit Partner Platform.
So it’s been a great — it’s been a nice standard approach way where we don’t have to jump through hoops to make all of that data move back and forth using our Autofy system and our expert piece in synchronizing data, we are able to pull that off pretty smoothly and without a million different requirements that are all duck-taped together but rather a pretty nice architecture overall.
Michael Coté: Yeah, I mean you guys — it seems like you guys have basically built a data hub, if you will, with many nodes, and endpoints, and pipes. As with the perfect idealized architecture of that, like once you sort of establish the baseline for really you just hook up other nodes to it and it doesn’t necessarily matter if they are on the cloud or a desktop or a phone or whatever. It just matters if there is a network connection that they have.
Joe Dwyer: Yup, you got it dead-on, and that’s whether it’s a mobile device or it’s someone’s one-off access database they created or another software system that someone has built, that’s for Autofy and where all of our tools fit in really well to make those guys connected a little bit easier.
Michael Coté: Well, great! I mean that’s — it’s always nice to like encounter someone who is doing kind of fun boxes and arrows stuff like that. The full data integration hub stuff and kind of just lightly pick apart the various way things that you guys are doing. So I appreciate you going over all that stuff, that was fun.
Joe Dwyer: Yeah, no problem. I appreciate! Thank you very much, Michael!
Disclosure: this episode is sponsored by Intuit, who is a client.
[…] http://www.redmonk.com/cote/2010/09/07/makeall009/ […]