Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations IamaSherpa on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Best DB and language for scheduling app

Status
Not open for further replies.

ldsang

Programmer
Jul 23, 2003
5
US
Hello all. I have a question about the best tools to use for a project I have. I recently went to a conference for private teachers and found that many of them were interested in a custom application designed specifically for keeping track of students, teachers, and schedules. Many of the people said they were willing to buy something from me if I could develop it! This was a conference where I was one of the very few software people (my mom is a teacher and she suggested I go).

At any rate, now I'm trying to determine what is the best way to develop this application. It will be a stand alone application with a database backend that needs to be part of the executable. Now I have Access, but I've never used it. I normally use PHP and MySQL on Linux to develop web based apps just for me and just access them through a web browser on my Windows machine (my Linux box doesn't have a monitor hooked up). I've also used VB before, but I just used it to create a front end (I used a perl executable on Windows for the backend - the VB buttons just called the perl executable). I know C++, but I'm not exactly a fan of doing User interfaces in C++, but if that's the best way I'd like to know.

If someone has a suggestion of something I haven't mentioned here, feel free to suggest. Thanks.

Darryl
 
If the schools are networked well it might be easier to do a PHP / MySQL thing, however the teachers would need access to the system to update data.

With Access, you could have a fron end and back end. The teachers can keep copies of the front end, update data etc. Then sync with the back end when the get a connection.

abombss
 
"It will be a stand alone application with a database backend that needs to be part of the executable."

With this criteria the first thing that comes to mind is Access. You will need to set it up so that it cannot be opened without a password. It can also be distributed with the necessary files so the end user does not need Access installed, but you will have to research this. It can also be setup so that the user just sees the interface that you create and the normal Access menus and shortcut keys are removed and/or disabled. I am not sure if this would be my first choice ( would need more info on the project) but it can be done this way.

Thanks and Good Luck!

zemp
 
Thanks for your replies. Abombss there won't be any kind of networking. These are private teaching schools that are quite small and many aren't using computers for organization but want to. (Well, some are using Excel for scheduling - but it's just because excel has a pretty grid and they say they're tired of using it). Suggesting a network will make their eyes glaze over. A single program would work better for this crowd.

Zemp thanks for the suggestion. Now what would be your first choice?
 
My first choice would be VB as the front end, the backend would depend on budget and availability (perhaps Access or MSDE). I find that VB is quick (faster development time than C++) and gives me much more control over the app and data than Access VBA. I also know VB much better than Access VBA. Time is money, go with what you know.

Thanks and Good Luck!

zemp
 
There are other questions that I think you might want to investigate as well before making any decisions.

- It's a standalone application, but is it a multi-user application?
- How flexible to you need to be with respect to different teachers wanting slightly different ways to do things?
- What are the licensing fees (if any) of the tools that I might want to use?
- How you considered the distribution and support issues?
- How many, and what are your target operating systems?
- Are you asking the question for the front end and the back end separately? You can quite easily use a VB front-end with a MySQL backend, or a PHP front end with an Access backend.
- The application may be standalone today, but would they like to web-enable the application tomorrow?
- Are you doing this as a friend, or a one-time offering, or might this turn into a long-term business product, that you will continue to develop, sell, and support?
- What would be the most cost-effective use of your time?

And I'm sure, that since I haven't finished my first cup of coffee yet this morning, that I'm leaving a few out.

Many of the questions don't really have any wrong answers, although choice some may not be practical or make much sense. Although it wouldn't be wrong to use Oracle for the backend, it wouldn't make much sens, and the licensing fees would make it impractical. Further, what might be the best choices for me, might not be the best choices for you.

My first reaction would be for you to use the tools that you are most comfortable with, and those that will help you develop the best quality software. Keep in mind that you will be judged by your user-community, not for the tools you use, but by the quality of the product you represent.

Good Luck
--------------
As a circle of light increases so does the circumference of darkness around it. - Albert Einstein
 
Thanks for the responses. Now I understand that Access doesn't actually allow you to create an "exe" file (actually I could care less about a 'real' exe as long as the user doesn't have to have access installed) but I know Visual Basic does as I've created them. So can I actually create a database in Access and then create a VB front end and make that "executable" so that Access isn't required on the client machine? And how easy is it to create "pretty" reports using VB?

I actually know MySQL much better than Access, but it doesn't seem to be much different for just creating the db (except that I'm used to the command line in Linux, but the UI in Access doesn't bother me).

As far as the other questions go, most of the target audience here isn't using a computer to do what this program is supposed to do. They're currently doing it "by hand" and hating it. A lot of paper and erasing changes and the like. And since these businesses are pretty small (usually the owner and some teachers in one building with one person having access to a computer) multi-user or web applications aren't needed, at least not in the near future. I figure some have gone 15+ years doing it by hand. Not being able to publish to the web isn't going to hurt anyone, especially if they only have 1 computer.

There are, however, a few people who mentioned they used Macs. They all seemed to have Windows emulation software though.
 
The questions no one seem to be asking are "How much do you know about A) Teacher/Student scheduling, and B) Designing correct database structures?

Do you have a good background in collecting user requirements, data definition, normalization techniques, User Interface design, prototyping, delivery and support practices?

How good is your communication of technical issues to these admittedly low-tech people?

How well do you understand the 'low-tech-based' concerns of your potential clients?

Have you thought about long-term support issues? Who will the people call if they have a problem? Are you willing to support possibly far-flung users?

Can you write a user manual? (And not just by cutting and pasting screen shots). User manuals need to be in ENGLISH (or the user's native language), not "PC".

Can you describe what you propose to do, to a potential user, without once using the terms "Table", "Record", "Field", "Key", "Data type", "Relational", "Query", "SQL", "PHP" or Unix?

See what I'm getting at? I am not trying to discourage you, far from it. But there are important questions that should be answered before you start to worry about which tool to use.

It's like asking, "I want to build my own house. Should I use a 16 oz hammer with a wood shaft or a 20 oz hammer with a polyproplyne shaft?"

If you do the up front legwork and the functional requirements definition correctly, the appropriate tool will almost certainly suggest itself.

JMH








If at first you don't succeed, skydiving probably isn't for you!
Another free Access forum:
More Access stuff at
 
> Do you have a good background in collecting user requirements, data definition, normalization techniques, User Interface design, prototyping, delivery and support practices?

Guess it depends on what you call a "good background". I suppose from what I figure you mean no, as that has never been the main focus of what I've done, just one part of the overall project. Never was a "user requirement getter" as the only focus of a job though, but I have had to collect User requirements many times.

> How good is your communication of technical issues to these admittedly low-tech people?

Apparently pretty good as I wasn't going to do this until I told people about some much smaller programs I did for my mom.

> How well do you understand the 'low-tech-based' concerns of your potential clients?

My mom has been doing the same thing for 29 years. This is the first time I was around others who did the same thing (I went with her to a convention). I "mocked up" some small programs to help automate some things she has to do, but only when I saw her doing them. I did this when I stayed with my parents for a few months a few years back. I'm also trying to start a business like they are running.

> Have you thought about long-term support issues? Who will the people call if they have a problem? Are you willing to support possibly far-flung users?

I would be the contact person. Supporting far flung users is something I've done MANY times. I have a LOT of patience. And working with people in the military can be trying at times, and I did that with no problems.

> Can you write a user manual? (And not just by cutting and pasting screen shots). User manuals need to be in ENGLISH (or the user's native language), not "PC".

If I could get my mom to use a computer after starting to explain it to her and she said "Wait....how do you turn it on?" I figure I can support people who already use excel (something my mom STILL won't touch). Believe me, my mom doesn't understand "PC" and neither do any of the other people I currently work with.

> Can you describe what you propose to do, to a potential user, without once using the terms "Table", "Record", "Field", "Key", "Data type", "Relational", "Query", "SQL", "PHP" or Unix?

Actually it was described to me. I didn't decide to do this until about the 4th person said they'd be interested in the "little mock ups" that I did for my mom. They proceeded to tell me what they wanted and how they were doing things now. Of course my "little mock ups" aren't user friendly as they were made for me to run for my mom. And of course they didn't use ANY of those terms to describe anything.

> See what I'm getting at? I am not trying to discourage you, far from it. But there are important questions that should be answered before you start to worry about which tool to use.

Just out of curiosity, why would you assume those questions weren't answered?

> It's like asking, "I want to build my own house. Should I use a 16 oz hammer with a wood shaft or a 20 oz hammer with a polyproplyne shaft?"

Actually if I were building a house I WOULDN'T know what kind of tools to use, so I would ask someone, especially if they were at a forum that talked about building houses. And I'm not sure that the difference between C++ and Visual basic or Access is like the difference between 2 hammers with a 4oz weight difference and different handles. More like "Should I use this 20 oz hammer or get a 50 foot crane?"

> If you do the up front legwork and the functional requirements definition correctly, the appropriate tool will almost certainly suggest itself.

That assumes I am as knowledgable about the tools as everyone here. Now have I asked a question that isn't supposed to be asked? If so please point me to where it is stated that these types of questions are not allowed. I just say that because your last statement seems to imply that if I "do the upfront legwork" then I wouldn't need to ask this. I thought asking people WAS part of the upfront legwork.
 
Didn't mean to cast aspersions on your skills, background or abilities at all. It simply occurred to me, as I scanned the original question and answers, that we were getting so caught up in Access vs MySql or PHP vs DOA or whatever.

And, I have to admit, my (perhaps incorrect) assumption was that you were a young(er) person, perhaps just in late 'teens with not a whole lot of database development background. You said you have Access, but never used it. You said you use MySql and PHP to develop apps for YOU to use, viewed via browser to a Unix box. Nowhere did you state that you'd developed custom database driven applications for paying clients, which is why I tried to point out some concerns that had not yet been mentioned.

It just sounded as though you did not have a lot of experience in spec'ing, developing, delivering, and supporting multi-user custom database driven applications for paying clients. If you have, great. I apologise for seeming to be condescending. That wasn't my intent.

Jim



If at first you don't succeed, skydiving probably isn't for you!
Another free Access forum:
More Access stuff at
 
Actually I haven't created custon database driven applications, at least none that weren't web oriented. Hence I experience with PHP and MySQL, but that's a whole different beast from what I'm trying to do here. I actually haven't used Access either. Most of what I've had to do was working for a company, and I have no intentions of using Oracle or Sybase for what I'm trying to do, which is what companies I've worked for have used.

I probably shold have stated that I have created PHP/MySQL apps for customers, but that isn't what I'd be doing here.

> It just sounded as though you did not have a lot of experience in spec'ing, developing, delivering, and supporting multi-user custom database driven applications for paying clients.

Personally, that's true. Although this one doesn't have to be multi-user since all of the people only have 1 computer at their place of business, if they have a computer there at all.

> I apologise for seeming to be condescending. That wasn't my intent.

No problem.

Darryl
 
Hi Darryl,

WebSmartWare will do the job for you!

Have a look at for an example!

The SmartWare part already has a historie of almost 20 years and the Web part provides direct acces to the databases (no conversions, no interfaces).

Han
 
Idsang: I might get blasted, but here goes anyway!
You know . . .C etc. you could do it in VFP8. its oops,
stand alone .exe etc.

I started for my own use Acess and was using Excel, Word, Kwikstat and others. . .
Couldn't do what I wanted, so I evolved to VFP3 and brought all those things I was doing into one "my.project". . .what I was after was the one-many and many-many, charting, reports, scheduling etc. and it worked magic. . .



 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top