Adventures in Alpha Land

Episode 3: Access to Alpha with David Kates

Adam Green interviews David Kates, an independent developer working in Toronto, on his transition from MS Access to Alpha Anywhere.
Show Notes

00:00 Adam: Intro to episode 3.

00:30 David: I've worked with a wide range of clients for database applications.

00:50 Adam: When did you start working with Access?

00:52 David: I started when it first came out in 1992.

01:34 Adam: How did the first version work out?

01:43 David: It was very cool to be working in Windows.

03:03 Adam: Building any Windows app in those days was hard.

03:37 David: The graphical interface in Access was delightful.

04:02 Adam: What kind of apps did you build?

04:06 David: Insurance, bank and charitable contribution apps. These were done index cards at the time.

05:30 Adam: They were generating reports by typing into Excel?

05:34 David: It was my job to computerize and report on this.

05:53 Adam: What caused the transition from Access to Alpha?

06:13 David: Access 2007 released a data corruption bug, which caused many problems.

07:29 David: A colleague and I found Alpha. It was very easy to deal with.

08:33 Adam: How do clients react to rewriting from Access to Alpha?

08:50 David: Clients don't know how much work it is.

09:28 Adam: Have you also left old functionality in Access and added new features in Alpha?

09:42 David: Some Access applications are too large to move, so we add new components with Alpha.

10:46 David: For example, a client wants to walk through the manufacturing floor with a tablet and use Access data on processes.

11:11 Adam: Does he want to know the location or state of a process?

11:18 David: He wants to know how far along a process is, and we can pull that up on a tablet.

11:36 Adam: It adds to his memory or perception.

11:51 David: It's all sitting in SQL Server, which Alpha can access.

12:16 Adam: How important have web and mobile been in your move from Access to Alpha?

12:38 David: Primarily new applications are being built for web and mobile.

14:13 Adam: What problems have you found with Alpha?

14:25 David: The only problem I have is learning which parts of Alpha should be used with Phonegap for mobile apps.

15:51 David: Not all Alpha functions are well documented.

16:51 David: You have to understand that Alpha is a true client-server architecture.

17:23 David: Take a small part of your Access application and start out with Alpha.


00:00 Adam: Welcome to episode 3 of "Adventures in Alpha Land." I'm Adam Green, your host for this episode. Today, we'll be introducing a new topic -- the transition so many Microsoft Access developers have made to Alpha Anywhere. Our first guest on this subject is David Kates, an independent developer working in the Toronto area.

00:22 Let's start, David, with some of your basic background. What kind of apps have you typically built, what kind of clients do you usually work with?

00:30 David: The clients that I've worked with are banks, insurance companies, small companies, large companies, anyone who currently needs database reports, databases access, database inputs, anyone like that.

00:50 Adam: When did you start working with Access?

00:52 David: I started working with Access when it first came out in 1992. Prior to that, I was working with Revelation and Advanced Revelation from Revelation Technologies.

01:04 They were all DOS based. Then, Revelation Technologies attempted a move into Windows, since Windows was becoming quite big, but it just didn't fly.

01:13 Just at that time, Microsoft came out with Access. I was in the insurance industry at the time, an actuarial company. We were doing a lot of actuarial calculations and needed something pretty fast and fairly simple to use. They just couldn't make a go of it in Windows.

01:34 Adam: Your background was as a programmer, and you took those programmer skills to Access? You said you started with the first version. How did it work out?

01:44 David: Really well. Very impressive. Its own language. It was Visual Basic. It was very cool to be working in Windows, because all that stuff was new at the time. Access gave you amazing control. What we were seeing is a lot of people were using Excel as "databases," and they firmly believed they were working in databases in Excel.

02:08 As soon as we started introducing forms and actual real input devices for people to use, then everything changed. A lot of times, what we ran into were IT departments, because IT departments didn't like Access.

02:24 It gave users far more power than IT departments wanted to allow, and there was no way, at the time, for IT departments to shut them down like they can today.

02:35 We were getting calls from managers and vice presidents, all up and down the line who are circumventing their IT department and saying, "We need stuff. We need databases, because we're running our own departments here and our IT departments can't service us within the next two years."

02:58 They'd always ask their IT departments for help, but they just couldn't get stuff done fast enough for them.

03:04 Adam: The other thing that I'm interested in is the idea of how visual Access was for you. One of the problems was building any Windows app, just putting a window on the screen with stuff in it, was quite an accomplishment.

03:19 Microsoft seemed to deliberately make that hard. It's interesting. The parallel 20-plus years later where right now getting anything onto a mobile device is really hard, and anything that makes that easier is a big deal. You've seen a couple of generations here.

03:36 David: Yeah, very many. Dealing with the graphical design and interface of Access as a programmer was delightful, because prior to that, you had to create your own SQL joins and do all that stuff on the back-end yourself. Now, they gave us a tool that let us drag and drop from table to table to build very complex designs.

04:02 Adam: What kind of apps did you build at first with Access?

04:06 David: With Access, it was pretty much insurance related applications. One was a contributions application for a really large bank here in Canada.

04:20 They needed to track all of their charitable contributions, and I think they were giving out about four million at the time. They needed to track all of that information, get receipts back, and do reports. You can imagine that there were a lot of people looking over their shoulders, that sort of thing. Everyone already did all that stuff.

04:41 It was the type of job like the contributions database that I really loved to do, because that was very unique at the time. When I first took over that job for the bank they brought me in and they showed me what they were currently doing. I think this was about 10 years ago, probably. Probably, not that much.

05:10 This is a big bank in Canada. This is one of the four majors. They were using index cards to record their contributions. As I said, they were giving away about four million a year at the time to various charitable groups, and they were still recording it on index cards, 4 x 5 index cards.

05:30 Adam: Then, generating reports by typing it into Excel or something?

5:34 David: Yep, that was it, or Word or anything else they had. It was my job to take those cards and build them a system whereby they could enter charitable donations against organizations and then report on all that in a number of different ways.

5:53 Adam: It's clear that Access was a big win for you.

05:56 It solved a lot of problems, but you eventually also added Alpha Anywhere to your set of tools. Let's try to work through this, how you made that transition. When did you start realizing that Access would not give you everything you needed?

06:13 David: It was one distinct point. When Access 2007 was released they also released a bug in the runtime which literally damaged databases and resulted in data loss.

06:29 It didn't show up for a while, because we'd been using Access 2007 internally, and not a lot of runtime stuff was going on, but when we started releasing updates to our clients and they were updating their own Access systems...

06:43 Which was always a problem, because Access was so easily available to companies that they would just update their own databases to current versions of Access without letting us know. That's another issue.

06:59 When the bug was introduced in the runtime for Access 2007 it took a long time for Microsoft to admit that they had a problem. Months. Then, it took months more for them to introduce a fix.

07:13 I ran into a lot of angry clients because of that. That's when I said, "I'm done. I'm finished with Access." I'm finished building anything new in Access. I still support anything else that needed supporting, but I had to find something else.

07:29 A colleague of mine, he and I were in the same position, and we started looking for something else. We ran across Alpha just in a search and started looking at it. The more we looked at it the more, in a sense, Access-like it was. It was very easy to deal with. It was very high-level if you wanted it to be like that, but you could still drop down and start coding if you needed to.

07:54 I started using Alpha quite a bit in two projects I was working on at the time, a test project. I had to build a membership database for a fitness center so I did that all in Alpha Desktop. I don't think there were any mobile or Web-based functions at that point. Maybe they were just starting to look at it.

08:17 Then, another insurance adjustor application I had written, I converted that from Access and VB over to Alpha. We'd played with VB, as well. We went into a Visual Basic environment with Microsoft thinking that it might be better than Access, but it wasn't.

08:33 Adam: You've actually rewritten entire systems from Access to Alpha. How do the clients react to that? I've always found that clients don't appreciate how much work it actually is. They think that you just moved it from one program to another.

08:50 David: Clients will never know. If you do your job well enough that's exactly what it looks like. [laughs] I suppose that's a good description for it.

08:58 They won't know. They won't ever know. The movement from desktop to desktop, it's very similar. There are tools in both that compliment each other. You can tell, if you're working with a sub- form in Access you know to use a browse in Alpha on the desktop. If you're moving from Access to the Web or mobile you better start rethinking things. You can't do that.

09:28 Adam: When you are making this migration, have you also done systems where you left some data in Access, old functionality, and wrote new in Alpha? Or did you generally just move completely, the entire app?

09:42 David: No, it's a bit of everything. There's one application that I'm working on with a colleague of mine. He's in Montreal right now.

09:51 This company builds aircraft parts. They've got a system in Access that is so ingrained you could never move it. It's got 400 forms and 700 reports. There's no way you could do it. It's a system that's been built for the last 15 years, and it just keeps going.

10:10 They're running into the same problem that we all ran into. The file sizes are too large. Even though the databases are split, the client server architecture isn't there, so errors are always creeping into the database because of network problems. They're not in the best location for their network. I'm not sure what the problem is there, but they're always running into issues.

10:36 Instead of changing that system, which is really tough to do, anything new they need to do or anything interesting they need to do we're now going to do in Alpha.

10:46 For example, the owner of the company wants to walk through the manufacturing floor with a tablet and just either scan machines that are in operation or tap on various aspects of his business that are displayed on a tablet and find out what processes are where in manufacturing. Something that he couldn't do in Access, of course.

11:10 Adam: When you say where, do you mean physically where or what state of progress are they in, what's getting done?

11:10 David: Yes. What state of progress they're in. Exactly. Because they're manufacturing aircraft parts. so he wants to know how far along the manufacturing process is or he wants to do a check of materials, anything like that. We can just pull that up on a tablet for him as he's walking through the plant.

11:36 Adam: That's interesting. It lets him reinforce, it adds to his memory or perception. He can wander around the factory and then get data from the central database that gives him more information about what's going on in the factory.

11:50 David: Yes, exactly. It's all SQL-based so it's all sitting in a SQL server. Alpha just accesses them very easily.

12:00 Adam: Eventually, you'll be able to do GPS on a wearable device and have it tell them if there's a problem with the thing he just walked past.

12:10 David: He should be able to, yeah. There's no reason why he couldn't do that.

12:13 Adam: Backing up a little on the technology, let's look at the issue of Web and mobile. How important has that been in your move from Access to Alpha? What kind of demands are you getting now?

12:26 You described a very good idea for a tablet device. Are you getting many requests to put your existing apps onto browsers or writing new apps with mobile devices?

12:38 David: It's not really a lot of existing app stuff. The bank that I'm working for, they want to change from Access with their contribution system, so I've asked them to have a look at Alpha and pretty much introduced them to the concept that they can access this data from anywhere else that they need to.

13:01 It's a bank so that scares them immediately, but then, they get used to the idea and understand that with security in place it's no different than me accessing my bank account. If I can trust that then they can trust the same process for getting into their systems.

13:19 It's primarily new applications that I'm getting or pieces of existing applications that people are finally getting around to building, because Web and mobile offers them the capabilities for doing so. A lot of transportation stuff is coming through whereby owners can now track their drivers and their trucks.

13:42 With geolocation built into Alpha and readily available, of course, on all our phones then it's a natural fit for a phone app to be able to track someone and put up a geo-fence around them or around certain locations so that when they hit that fence geolocation information is sent back through to the database.

14:04 We can tell when people get places and when people leave places and where they are and how fast they're travelling. It's fun and amazing stuff.

14:13 Adam: You've had very good things to say about Alpha. What problems have you found? Any limitations? Any features that you wish they would add?

14:24 David: They keep adding all the features I want, and I think they're adding them before I even get to them. It's a little tough to say. The list controls are really good and amazing.

14:39 That's all fairly new stuff. Disconnected or offline aspects are all there. The PhoneGap Build integration is really good. The World Pay payment process integration is all there. They just keep adding all this stuff in.

14:56 I'd have to say every time I run into an issue it's probably an issue with using an existing control where I shouldn't be. For example, the chart control in Alpha is very good, but should not be used in a mobile application within PhoneGap Build.

15:16 If you're just running a Web application on a browser on a mobile device that's probably OK, but PhoneGap Build and PhoneGap generally just introduces a few blockades here and there.

15:30 Nothing that you can't overcome. For example, the chart control doesn't necessarily behave itself well, but then you think, "I shouldn't be using it. I should be using Google Charts." It's much easier to access, very powerful, and looks phenomenal.

15:52 I'd say if there's one limitation it's probably that not all functions or methods are documented or well-documented or easily found. I know what I want to do is out there when I start coding something.

16:08 Sometimes, I can't quite find it, or I know what it is but it hasn't been documented, so I don't know how to call it. That's probably the only limitation I can see. Other than that, you can pretty much do anything you want.

16:22 If you need any Web or mobile aspect of an application you don't have a choice. You've got to move to something, and Alpha's probably going to be the closest fit you're going to find. It's very similar in nature where you're dealing with forms and you're dealing with queries, you're dealing with back-end SQL databases. That's going to be an easy fit.

16:51 You have to wrap your head around the fact that you're now dealing with a true client server architecture, which Access never was. You have to understand that there's a lot of things you can do on the client and just stay on the client, and then, there's a lot of things you can do on the back end on the server that will stay there. Also, the two can talk to each other really easily. You have to wrap your head around that.

17:20 I'd say take a small part of your Access application, whatever you're converting, whatever you want to do with it, and start out small in Alpha. It's easy to pick up XBasic, because it's very Basic-like. Visual Basic...those skills will transfer over very easily.

17:41 Then, start learning JavaScript and HTML, because you're going to need it, because you're living in a Web and mobile world and that's all JavaScript and HTML.