Blah

Mercutio

Fatwah on Western Digital
Joined
Jan 17, 2002
Messages
22,297
Location
I am omnipresent
Something I'm kind of stumped on today.

This dick that I do work for, hereafter known as "dick", has an Act 2008 setup. He has apparently been using Act for his very limited CRM needs for about 15 years. I'm talking Windows 3.1-era, here.

So he has an accumulation of Act data. Maybe 20000 customers.

He has 10 employees. Nine of them spend all their time in Act just collecting customer contact info and maybe making a note that there was a sale on some date.

One employee's entire job is to schedule and place calls to each customer on a rotating basis, just to see if they have any new orders. The number of calls she completes and then reschedules for some date in the future is basically her metric of performance, insofar as the dick looks at a report about her activities every few months.

Oddly enough, this poor woman's Task List in Act, the equivalent of a Schedule in any program you've ever seen that does schedules, has about 3,000 scheduled calls in the next three months.

She says "Boy Act is sure slow!" Which it is, since it's making probably 10 queries that return results of 3,000 items just to display what's on her computer screen (their database file lives on a file server... where accessing the same information is still glacially slow) plus feeding in to who knows how many reports.

The Act people tell me there's a hard limit for "reasonable" performance of their database, and that limit is around 1,000 scheduled activities. The Act people say "You need to change how this person works to suit our software."

Which, OK, wow. That's a dumb thing to say. If it's a limit, make it a limit, guys.

Even if I divide up her workload (say, make each single month worth of calls its own username and task list, or divide the calls AM and PM as distinct lists), she's going to need to look at the full list of data at times.

The Dick just wants to implement a heavier CRM package like Microsoft Dynamics. He's not even really using the features Act has now, just a contact list and the tasks that one woman sets.

I'm thinking there's got to be a smarter way to have this woman work so that she's not setting 1000 appointments a month. I'm drawing a blank on what that better way might be.

Ideally I'd like to see the dick just go with some custom app (built on what? No idea), but I don't have time to deal with that. I need to get this poor woman in some kind of shape where she can work (which she can't, when it takes 30 seconds to make an update to her task list).
 

ddrueding

Fixture
Joined
Feb 4, 2002
Messages
19,742
Location
Horsens, Denmark
The first thing I would do is stick it to the dick. Get one (or more) of those Intel SSDs and the fastest CPU you can get your hands on (IIRC, ACT isn't appreciably multithreaded) and see what that does.
 

Mercutio

Fatwah on Western Digital
Joined
Jan 17, 2002
Messages
22,297
Location
I am omnipresent
His current server is a four CPU, 8GB Xeon rig with a pair of RAID1 SAS X15s in it. While I'm sure that the SSDs would work better I'm equally sure that he already has the next best thing.

And which his office uses to access a 350MB (SQL Server Express) Act Database and his ancient, DOS based Flat File industry specific database App.
And some web crap.

If I run Act directly on the four CPU, 8GB monster computer, it still runs like ass and takes 30 seconds to update the database while there are 3000 open activities.

You know what that tells me?

It's the database, not the hardware.
 

time

Storage? I am Storage!
Joined
Jan 18, 2002
Messages
4,932
Location
Brisbane, Oz
I assume one of the CPUs isn't maxing out? How about I/O queue depth?

Excessive index fragmentation can cause performance problems.

SSE closes the database once the client closes table connections (to facilitate copying of the database files). If this is happening, performance is guaranteed to be crap. You can turn off Auto-Close off if you haven't already done so.

A proper version of MS SQL Server may make the problem go away. SSE won't use more than one CPU and 1GB of memory; to achieve this throttling, I can't help but wonder if integrated caching isn't disabled and there aren't enough buffers to hold even this modest database. Best way to find out would be to try it out on one of your MSDE SQL server installations.

This doesn't take away from the fact that ACT! is obviously badly designed, but getting the DBMS to cache the entire database goes a long way to covering up poor programming.
 

mubs

Storage? I am Storage!
Joined
Nov 22, 2002
Messages
4,908
Location
Somewhere in time.
I second Time. I think it's SSE, primarily. Going to SS standard is bound to improve performance. Sage SW sucks big time (eons ago I worked at a company that got acquired by Sage). Act was acquired by Symantec at one point of time, IIRC, and then sold to Sage. So it's bloatware all right. But even Act should run decently on the hw said dick has. So it's SSE all right. I'll guarantee said "hard limits" come from SSE.
 

Mercutio

Fatwah on Western Digital
Joined
Jan 17, 2002
Messages
22,297
Location
I am omnipresent
The way I understand the whole Sage Software operation is that the company more or less runs on fee based support rather than software licensing, and one of the big reasons Symantec ditched Act was that its support was a cost center.

I did suggest a full blown SQL Server install when I was talking to Sage but the support people were pretty adamant that doing so would be a completely unsupported configuration, which is not something anyone who is involved in this wants to hear.
 

Howell

Storage? I am Storage!
Joined
Feb 24, 2003
Messages
4,740
Location
Chattanooga, TN
Oddly enough, this poor woman's Task List in Act, the equivalent of a Schedule in any program you've ever seen that does schedules, has about 3,000 scheduled calls in the next three months.

Does ACT have a calendaring ability? It may treat calendaring differently from tasks.
 

Mercutio

Fatwah on Western Digital
Joined
Jan 17, 2002
Messages
22,297
Location
I am omnipresent
Nope, they're the same thing. The Activities (tasks) are a list view and the calendar is a calendar view of the same stuff.
 

Howell

Storage? I am Storage!
Joined
Feb 24, 2003
Messages
4,740
Location
Chattanooga, TN
1000 entries huh. That's 4 calendar events per week day. They sure don't expect people to be working very much do they.

So the problem is that it is loading the whole table instead of just what is on the immediate horizon.
 

Mercutio

Fatwah on Western Digital
Joined
Jan 17, 2002
Messages
22,297
Location
I am omnipresent
Yes, and performance continues to suck even if you filter the data you're looking at to something like "current week."
 

sechs

Storage? I am Storage!
Joined
Feb 1, 2003
Messages
4,709
Location
Left Coast
Does this guy actually need CRM software? Could he just work out of a custom database?
 

Mercutio

Fatwah on Western Digital
Joined
Jan 17, 2002
Messages
22,297
Location
I am omnipresent
I have no idea if Outlook would come close. I know that Outlook does not allow Notes to be shared between clients, even in an Exchange environment, and a lot of what the other people in the office are doing is making Notes on the contact information (ordered stuff 9/14/2008 etc)

No, I don't think they need CRM software, or at least the company's idea of what CRM software is stuck on what Act version 2.0 did in 1994. I really think they should move to a custom database but of course I don't have time to deal with anything like that.
 

ddrueding

Fixture
Joined
Feb 4, 2002
Messages
19,742
Location
Horsens, Denmark
I really think they should move to a custom database but of course I don't have time to deal with anything like that.

A couple time in the last few years I have suggested my clients get custom software. All I do it quote a ballpark price (last one was $300-500k) and offer to bring in a developer. I work with them as a project manager, but mostly stay out of the way.
 

Mercutio

Fatwah on Western Digital
Joined
Jan 17, 2002
Messages
22,297
Location
I am omnipresent
I think this is more like 10 - 12 hours from someone who knows Visual Basic, though I might be underestimating how difficult it is to break the existing data out of the Act database.
 

timwhit

Hairy Aussie
Joined
Jan 23, 2002
Messages
5,278
Location
Chicago, IL
I think this is more like 10 - 12 hours from someone who knows Visual Basic, though I might be underestimating how difficult it is to break the existing data out of the Act database.

I have extreme doubts that someone could build a decent solution in that amount of time. Granted I don't know the exact requirements, but I doubt that what you get in 10-12 hours would be worth anything.
 

Chewy509

Wotty wot wot.
Joined
Nov 8, 2006
Messages
3,358
Location
Gold Coast Hinterland, Australia
I think this is more like 10 - 12 hours from someone who knows Visual Basic, though I might be underestimating how difficult it is to break the existing data out of the Act database.

I think you may be a little under-estimating. At work, I recently coded up a few data conversion systems for our Point of Sale system (to convert from other vendor's POS to ours), and on average it took 1-2 days to work out how best to migrate the data across, let alone coding up the procedure(s) and testing. 2-3 weeks for a solution, including data import might be a little more realistic depending on the requirements.

Mind you there were issues dealing with ancient/custom DB engines as well which did add some time to it... Hint: FoxPro, DBaseIII, Nexus, FlatFile, etc.

Depending on bugdet, either quote a custom CRM or start looking at COTS systems, eg MS Dynamics CRM, Sage, SugarCRM, etc. But when looking at COTS systems, an RFP is highly advisable and demonstration that the new system will improve workflow by allowing the users to see those 4K tasks/appointments easily and quickly...
 

Will Rickards

Storage Is My Life
Joined
Jan 23, 2002
Messages
2,012
Location
Here
Website
willrickards.net
A sample demo app of the baseline functionality maybe in 10-12 hours.
But as a Visual Basic Developer (6 and .net) and a custom software developer, a general estimate would be something like 2 - 8 weeks. That's 20K to 80K dollars at the going rate of $250/hour. It really depends on what they want/need. Just the specification gathering is probably going to take 8 hours. Unless you find someone that is really familiar with Act. And I'm not volunteering for anybody you call a dick.
 

Mercutio

Fatwah on Western Digital
Joined
Jan 17, 2002
Messages
22,297
Location
I am omnipresent
Mind you there were issues dealing with ancient/custom DB engines as well which did add some time to it... Hint: FoxPro, DBaseIII, Nexus, FlatFile, etc.

I know it's my own bias, but the only Windows development work I ever did was Foxpro and Visual Foxpro and to this day I will say that it's a great, solid product. Miles and miles faster than VB/Access. .DBF is certainly a legacy format these days but I really think and I always have thought that .MDB is a lousy bill of goods and it's terrible that it's been foisted off on Windows developers.

That's 20K to 80K dollars at the going rate of $250/hour.

My company charges $75/hour for custom VB stuff and for a lot of things we negotiate a flat fee.
 

Will Rickards

Storage Is My Life
Joined
Jan 23, 2002
Messages
2,012
Location
Here
Website
willrickards.net
Flat fees on custom software are a bad idea. You'll get change ordered to death and lose money. Maybe not everytime but enough. I'd abolish that practive straight away. But you'll lose some clients who demand fixed/flat fee.

And $75/hour? Let's assume someone's fulltime job is this.
So 4 weeks vacation plus a week of sick time leaves 47 weeks = 1880 Hours * 75 = 141000. That assumes 100% utilization. Let's be more realistic (somewhat optimistic) at 85%. That's 119850. Unless there is little or no overhead costs built into that, I don't see how it works out. But I guess you charge what your customers will pay. Or you don't pay your programmers very well.
 

Chewy509

Wotty wot wot.
Joined
Nov 8, 2006
Messages
3,358
Location
Gold Coast Hinterland, Australia
While there is nothing really wrong with FoxPro/Visual FoxPro, it's a dead end as far as development is concerned. MS is pushing all current VFP developers to either VB.NET or C# w/.NET and using MSSQL as the DB engine.

AFAIK VFP 9 is the last version of FoxPro from MS. That's not to say, another software company will pick it and move forward with it.

But as Will mentions $75/hr is a little low, but personally have seen rates as low as $35/hr for custom work. But I would assume that $35/hr includes all meetings, photocopying, thinking, lunch breaks, runs down to the local coffee house, etc. (aka what most laywers do).;)
 

Mercutio

Fatwah on Western Digital
Joined
Jan 17, 2002
Messages
22,297
Location
I am omnipresent
Well, dickhead went and got a quote to implement Microsoft Dynamics CRM for his environment: $14,000 just for software and licenses, no labor cost, no database conversion... nothin'. A single user license is $900, and the package does not come with any.

Even for Microsoft that's a level of anal rape that I was unprepared to believe possible.
 

timwhit

Hairy Aussie
Joined
Jan 23, 2002
Messages
5,278
Location
Chicago, IL
It's still cheaper than Salesforce or Siebel. MS offers a hosted version of Dynamics, maybe that one is cheaper?
 

Chewy509

Wotty wot wot.
Joined
Nov 8, 2006
Messages
3,358
Location
Gold Coast Hinterland, Australia
Well, dickhead went and got a quote to implement Microsoft Dynamics CRM for his environment: $14,000 just for software and licenses, no labor cost, no database conversion... nothin'. A single user license is $900, and the package does not come with any.

Even for Microsoft that's a level of anal rape that I was unprepared to believe possible.

That's MS Dynamic's though. Dynamics is aimed at more than your small business, and will scale upwards to multinational setups (accordingly to the MS literature) and is priced accordingly.

The company I work sell and support Dynamics RMS, and the base license starts at $2000, (not including installation, setup, training and support).

No surprises for someone who works with the systems.
 

Mercutio

Fatwah on Western Digital
Joined
Jan 17, 2002
Messages
22,297
Location
I am omnipresent
... and a hilarious update:

Mr. Dickbag got an Act Consultant. The Act Consultant assured him that moving to Act 2009 ST - which uses full-blown SQL Server 2005 as its underlying database - would fix his issues.

So I built a dedicated server and implemented it. X15s in RAID10 (he wouldn't go for SSDs), 8 CPUs, 16GB of FBDIMMs. This machine has nothing but Act 2009 ST on it. It's not even a domain controller for his business.

Performance is even worse according to his users.

The Act guy's recommendation: Turn the screen resolution on affected users down to 800x600x256c.

Seriously.
 

ddrueding

Fixture
Joined
Feb 4, 2002
Messages
19,742
Location
Horsens, Denmark
Act is never a good idea. Ever. The only thing worse is PageMaker, or...ok there are things worse, but it still should be an offense worthy of losing your nuts.
 

ddrueding

Fixture
Joined
Feb 4, 2002
Messages
19,742
Location
Horsens, Denmark
Act is never a good idea. Ever. The only thing worse is PageMaker, or...ok there are things worse, but it still should be an offense worthy of losing your nuts.
 

ddrueding

Fixture
Joined
Feb 4, 2002
Messages
19,742
Location
Horsens, Denmark
How does that even happen? I just tried to do it on purpose and got this:

"This post is a duplicate of a post that you have posted in the last five minutes."
 

Handruin

Administrator
Joined
Jan 13, 2002
Messages
13,931
Location
USA
... and a hilarious update:

Mr. Dickbag got an Act Consultant. The Act Consultant assured him that moving to Act 2009 ST - which uses full-blown SQL Server 2005 as its underlying database - would fix his issues.

So I built a dedicated server and implemented it. X15s in RAID10 (he wouldn't go for SSDs), 8 CPUs, 16GB of FBDIMMs. This machine has nothing but Act 2009 ST on it. It's not even a domain controller for his business.

Performance is even worse according to his users.

The Act guy's recommendation: Turn the screen resolution on affected users down to 800x600x256c.

Seriously.

How busy is the SQL server 2005 machine (I'm assuming not ver busy)? That system you built would be an awesome DB server for multiple databases. I can't believe he suggested reducing the screen resolution. Did he gripe at you for the system being slower?
 

Mercutio

Fatwah on Western Digital
Joined
Jan 17, 2002
Messages
22,297
Location
I am omnipresent
8 CPUs. 16GB of RAM. Four X15s in RAID10. Connected to two Gbit ports on a switch with teamed NICs. It's hosting about 500MB of Act database and running TrueImage, with nothing else on it. No antivirus software. It's not a domain controller. I didn't even install Java or Firefox.

The users who are complaining are on E8400s with 2GB RAM. The Act Douchebag actually asked me if I had selected 7200rpm drives for those machines.

Questioning my own sanity, I also plugged in and ran wireshark for a while, just looking for bad packets. Nope. Nothing doing.
 

ddrueding

Fixture
Joined
Feb 4, 2002
Messages
19,742
Location
Horsens, Denmark
This very much sounds like an ACT problem. I haven't had to deal with ACT for at least 3 years, but I built a similar bad-ass server and had similar performance issues. No bottlenecks, no processing issues. The CPUs were never over 2% utilization and the RAM was completely unused. Nothing going on at all.

I did just run into a performance issue with an unrelated program. This program has 4 servers; DB, App, Web, Web2. And it turns out that it still does all reporting by sending the full dataset to the workstation before performing any queries.
 

blakerwry

Storage? I am Storage!
Joined
Oct 12, 2002
Messages
4,203
Location
Kansas City, USA
Website
justblake.com
Merc, I'm assuming you're aware of this, but MS SQL can auto index columns if you setup a regular maintenance plan to do so.

On a busy server, this can have a large effect. This assumes 1) that your queries are not optimized and 2) your server is actually busy on at least 1 CPU.


I've seen exactly what DD just mentioned on an App we are married to. Unfortunately, the easiest solution is to update the client PC's for those that do more advanced stuff. An alternative is to create your own interface for reporting that utilizes the server's resources.

I guess it's a trade off, at least with the built-in method user's don't 'tie up' the server.
 

Handruin

Administrator
Joined
Jan 13, 2002
Messages
13,931
Location
USA
Indexes can be both good and bad without some investigative work. Just enabling an auto index on columns could end up hurting the performance of the DB as much as it can help. If SQL server is suspect (which it doesn't sound like) it's best to run the analyzing tool for troublesome queries.

The 1CPU clause isn't always an indication. We've had some applications in-house while developing that would consumed the majority of time on 4 CPU's on a dedicated DB server because we hadn't implemented the right index. A 60+ second query dropped to milliseconds after the correct index was implemented.
 

blakerwry

Storage? I am Storage!
Joined
Oct 12, 2002
Messages
4,203
Location
Kansas City, USA
Website
justblake.com
Indexes can do some amazing things, and if you write the queries you should be manually indexing your tables.

MS SQL's auto index feature looks at the query log and indexes the columns that are most often used to select data. As Handy said, this isn't necessarily a good thing. But without intimate knowledge/control over the queries and the app it's hard to say what changes should be made.
 

Handruin

Administrator
Joined
Jan 13, 2002
Messages
13,931
Location
USA
That's why spending some time with the SQL Server profiler tool can be very helpful with this task. It would take some time, but you could begin to see trends in SQL usage to determine if certain queries are problematic. I'll admit I didn't know about the auto indexing feature until you mentioned it and made a guess at what it would do. We've always created our own indexes, but you're right, in a situation where the product is closed source, it could be a decent guess in the right direction.
 

Mercutio

Fatwah on Western Digital
Joined
Jan 17, 2002
Messages
22,297
Location
I am omnipresent
I've only poked at it a little bit but I don't seem to have access to see what the SQL Server is actually doing for the Act Instance. It wouldn't surprise me a bit if they just upsized the same DB they're using for less expensive versions of Act (SQL Express) and left it without changing anything else.

All I can say is that it's not hardware. Or the network. In fact, updates seem to be comparable in speed over a 100Mbit link or over a 128k VPN connection.
 
Top