Recent

Author Topic: various questions about finalizing my project  (Read 5903 times)

jagnje

  • New Member
  • *
  • Posts: 23
various questions about finalizing my project
« on: February 28, 2015, 11:11:14 am »
I wonder if anyne has experience with the following (windows xp and higher, i am using 2.6.4. lazarus)

1. As of now, my project allocates all memory on formcreate event and frees on formdestroy. is this good practice or should i be doing alloc/dealloc throughout the app? My memory usage is around 20 megs, so nothing really abnormal and i should be able to shrink that to 15m or so.

2. I want to let the users to try the app for 30 days. do i need to buy professional tools (for example aspack) to do so or is there any similar free alternative?

3. I am storing settings at simple text files. should i be using xml control or is th current system ok? there is only 10 or so settings.

4. My app has a fixed form height and width. I realize this might be problematic but I am wondering if it is ok for me to project only for limited number of resolutions. it would make my life quite a bit easier.

5. I will need a website. Any advice of what to use to build it? I will need a forum, some pics, some instructional videos, nothing too complicated.

6. i am using some charts and hence the component tachart. is this ok in closed-source apps? btw: i had problems with labeling the bar charts (there was a limit - only 1 label)  so i labelled them manually. is there a way around that limitation? I do not want to breach any copyright, so I will draw my own charts if using tachart for commercial projects is not allowed.

7. I am using text files instead of proper database. Could such approach be problematic in any way? For me it works reasonably fast. But I suppose with some really large files the slow down could be substantial.

8. What is the best way to process payments? I do not have a company.

9. Does anyone have a suggestion about what to use to write user manual?

10. My app has no menus, generally I detest menus and want to have visual control over all settings. is this generally ok? I am also using a lot of colors? I should probably not overusing it, right?

I realize I am asking a lot of questions, so I will be glad for any answer to any question. The most important thing is avoiding doing something really stupid. :)
« Last Edit: February 28, 2015, 11:14:56 am by jagnje »

Leledumbo

  • Hero Member
  • *****
  • Posts: 8774
  • Programming + Glam Metal + Tae Kwon Do = Me
Re: various questions about finalizing my project
« Reply #1 on: February 28, 2015, 03:14:01 pm »
1. As of now, my project allocates all memory on formcreate event and frees on formdestroy. is this good practice or should i be doing alloc/dealloc throughout the app? My memory usage is around 20 megs, so nothing really abnormal and i should be able to shrink that to 15m or so.
No generic answer. It depends on many factors such as type of project, object liveliness, speed vs memory usage, etc. I tend to keep low memory usage and object liveliness to be as short as possible.
2. I want to let the users to try the app for 30 days. do i need to buy professional tools (for example aspack) to do so or is there any similar free alternative?
Dig the wiki, turbopower has something already.
3. I am storing settings at simple text files. should i be using xml control or is th current system ok? there is only 10 or so settings.
Same as 1. I prefer ini files as it's lighter and is hand editable while quite structured at the same time.
4. My app has a fixed form height and width. I realize this might be problematic but I am wondering if it is ok for me to project only for limited number of resolutions. it would make my life quite a bit easier.
Back to 1.
5. I will need a website. Any advice of what to use to build it? I will need a forum, some pics, some instructional videos, nothing too complicated.
FPC, with or without Lazarus :)
6. i am using some charts and hence the component tachart. is this ok in closed-source apps? btw: i had problems with labeling the bar charts (there was a limit - only 1 label)  so i labelled them manually. is there a way around that limitation? I do not want to breach any copyright, so I will draw my own charts if using tachart for commercial projects is not allowed.
Read the license yourself, I believe it's in the source
7. I am using text files instead of proper database. Could such approach be problematic in any way? For me it works reasonably fast. But I suppose with some really large files the slow down could be substantial.
Back to 1. How big will your data be and in how long the peak might be achieved (or if you prefer growth speed, answer in GB/month or MB/day or any other unit you prefer)?
8. What is the best way to process payments? I do not have a company.
What's the easiest wa for you?
9. Does anyone have a suggestion about what to use to write user manual?
LaTeX
10. My app has no menus, generally I detest menus and want to have visual control over all settings. is this generally ok? I am also using a lot of colors? I should probably not overusing it, right?
You and your customers are the judge, not us. If you want to force a paradigm, do it. If you want to follow what most people do, do it. If your users don't like it and you want to change it for them, do it. The choice is yours.

taazz

  • Hero Member
  • *****
  • Posts: 5368
Re: various questions about finalizing my project
« Reply #2 on: February 28, 2015, 05:07:34 pm »
I wonder if anyne has experience with the following (windows xp and higher, i am using 2.6.4. lazarus)

1. As of now, my project allocates all memory on formcreate event and frees on formdestroy. is this good practice or should i be doing alloc/dealloc throughout the app? My memory usage is around 20 megs, so nothing really abnormal and i should be able to shrink that to 15m or so.

20MB? No worries even 200MB in today 6+ GB memory is not going to be a problem, by keeping the memory always allocated you avoid other problems that are harder to diagnose and correct, so if it works don't fix it.

2. I want to let the users to try the app for 30 days. do i need to buy professional tools (for example aspack) to do so or is there any similar free alternative?

Depends is this going to be a one time effort or are you planning to keep "the good fight" for as long as the application leaves? If its a one time think and you do not want to spend time on it or you do not find the concept interesting, then go buy a solution and have people answer your questions. Use an open source solution if you are interested to learn, understand, extend and in general invest portion of your time on the subject then find an open source one and start fiddling.


3. I am storing settings at simple text files. should i be using xml control or is th current system ok? there is only 10 or so settings.
Don't waste time and disk space with xml. Its a attempt for a self contained data exchange format that wend overboard in all accounts. In most case an XML settings files has around 20% data and 80% metadata that describe the data or simple put noise. So no forget about xml for settings if you want a text form editable by any external program then keep your text file otherwise go binary. IT will not help much in your case but its the only sane solution that I would recommend.

4. My app has a fixed form height and width. I realize this might be problematic but I am wondering if it is ok for me to project only for limited number of resolutions. it would make my life quite a bit easier.
My point of view is that its not OK for you enforce your limited capabilities on anyone else other than your self. That said I can't actually recommend anything with out any knowledge about the reasons behind your "limited resolutions" problem. I find it unlikely that in todays GUI and widget set world there is no concept you can use to create a "resolution free" solution. even if that means that you loose something like can't see everything at the same time or resample the results to fit in the screen and loose some details, it is usually preferred  than not be able to start the application at all because I do not have the resolution to use it.

5. I will need a website. Any advice of what to use to build it? I will need a forum, some pics, some instructional videos, nothing too complicated.
for easy deployment go the popular way. For fast development go the simple way in general avoid over complicated CMS that will have you jump through hoops to create a simple page because they are "multi language ready" (for example) when you really do not even have a single language up and running. I would go for the simplest solution of all and that is in my opinion wordpress if and when your needs are well documented then choose something more compatible to them.


6. i am using some charts and hence the component tachart. is this ok in closed-source apps? btw: i had problems with labeling the bar charts (there was a limit - only 1 label)  so i labelled them manually. is there a way around that limitation? I do not want to breach any copyright, so I will draw my own charts if using tachart for commercial projects is not allowed.

It is part of the official lazarus distribution as far as I know they do not include components that can not be used in commercial applications.


7. I am using text files instead of proper database. Could such approach be problematic in any way? For me it works reasonably fast. But I suppose with some really large files the slow down could be substantial.
"If its not broken do not fix it apply" here.

Now having  said that I would really have to know what kind of data are you using how often they change, are you filtering them or using them all to produce your results, and a nubmer of other details that I can't cover in a single post so don't fix it for now.


8. What is the best way to process payments? I do not have a company.

Ask an accountant in your country. Each country has its own rules and regulations if everything else fails contact one of the online money handlers like paypal and try to open an account there they will tell you the minimum requirements to do so.


9. Does anyone have a suggestion about what to use to write user manual?

Avoid html and you will be fine. Manuals should be written in a word processor like openoffice, MS Word, etc or in a more powerful environment like Quark Express better known as desktop publishing applications. If  by manual you mean an online help and reference guide then there are a number of good applications out there like help & manual, do a search for help authoring and you will get a number of applications that can create pdf, web sites, and online help files from a single source.


10. My app has no menus, generally I detest menus and want to have visual control over all settings. is this generally ok? I am also using a lot of colors? I should probably not overusing it, right?

No. Especially when you force a resolution limit on me. At this time I would say use a menu then we can talk about resolution requirements.

I realize I am asking a lot of questions, so I will be glad for any answer to any question. The most important thing is avoiding doing something really stupid. :)

As you can see I avoided answering a number of questions. I do not have enough information to begin making assumptions.
Good judgement is the result of experience … Experience is the result of bad judgement.

OS : Windows 7 64 bit
Laz: Lazarus 1.4.4 FPC 2.6.4 i386-win32-win32/win64

wp

  • Hero Member
  • *****
  • Posts: 12459
Re: various questions about finalizing my project
« Reply #3 on: February 28, 2015, 06:05:12 pm »
Quote
btw: i had problems with labeling the bar charts (there was a limit - only 1 label)  so i labelled them manually. is there a way around that limitation?
Could you give more information on this issue? Maybe I can help you.

jagnje

  • New Member
  • *
  • Posts: 23
Re: various questions about finalizing my project
« Reply #4 on: March 02, 2015, 08:35:00 am »
First of all I am sorry for replying so late. Working on some bugs pretty much 24/7....

2. As for now, I plan to maintain this application for at least six months. In six months I should pretty much know, if the app has any serious potential. I will be definitely looking at turbopower onguard.

4. Resolution fixation will be dropped. I agree it is not a good practice and in any case there are always people with smaller screens that would perhaps use the app too. I will support down to 800x600, less than that I cannot work with. The thing is, that some components that I am showing, cannot get any smaller, as they would get hard to read.

5. I can build websites with FPC? Didn't have the slightest idea. In any case, I will have a meeting this week with a friend who develops websites, so I will post then, what he thinks is best for my needs.

6. I have several charts. However, using TAChart, I discovered there is no easy way (like in Delphi, if anyone remembers) to apply labels to them. At first I realized that I need to drop a component TAChartSource, but when I tried to edit it, I saw there is a fixed limitation - it allows only one bar to be labelled, which is more or less useless.

This TAChart issue cost me quite a bit of time. Like I said, I managed a way around dirty way, and in any case, I did not find any other charting component for lazarus available. It may well be that I haven't searched enough for a solution...

7. About data.

"Database" usage is quite heavy in the app. Text files which act as a database, can be even 50M in size. I know that I can run into problems with really big files, but the app gets quite impractical with realy large database, so people are not going to do that...I know this is a big thing to assume. I am using several filters and I am applying them "manually". I really do not want to hassle the customers with applying database support.

I already "indexed on my own" with great success a really big text file (way bigger than database) that the app dynamically creates, so I will index database as well if the readings process gets too slow. But ok, I am happy to learn that I am not completely nuts not to use a proper database.

10. No menus thing is because I want people to use this application as quick as possible. So everything is on screen, waiting to be clicked. This is actually the biggest difference of my app against existing applications.

wp

  • Hero Member
  • *****
  • Posts: 12459
Re: various questions about finalizing my project
« Reply #5 on: March 02, 2015, 11:16:23 am »
Quote
I have several charts. However, using TAChart, I discovered there is no easy way (like in Delphi, if anyone remembers) to apply labels to them. At first I realized that I need to drop a component TAChartSource, but when I tried to edit it, I saw there is a fixed limitation - it allows only one bar to be labelled, which is more or less useless.
Please be more specific. The attached screen shot shows that it is possible to add labels even to a stacked series in a regular way.

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11938
  • FPC developer.
Re: various questions about finalizing my project
« Reply #6 on: March 02, 2015, 11:54:38 am »

10. My app has no menus, generally I detest menus and want to have visual control over all settings. is this generally ok? I am also using a lot of colors? I should probably not overusing it, right?


Just my view:  while I am neutral on menus vs buttons, I detest iconic buttons. In systems with buttonbars with icons I seem to  forever looking at the hints to see what they mean. From the icons I eventually use,
I use them more because I remember their place, then because of their picture.

So whatever you do, don't use icons, use buttons and controls with text. At least a certain percentage of users must feel exactly like me :-)

jagnje

  • New Member
  • *
  • Posts: 23
Re: various questions about finalizing my project
« Reply #7 on: March 02, 2015, 12:43:24 pm »
Please be more specific. The attached screen shot shows that it is possible to add labels even to a stacked series in a regular way.

Indeed. I forgot to mention that I need labels on x-axis to determine what each bar actually represents. Labels on x-axis as even in your screenshot are completely useless... The label value itself is of less importance to me. Currently I am not even showing it, although that might change in a finalized product.
« Last Edit: March 02, 2015, 12:53:47 pm by jagnje »

jagnje

  • New Member
  • *
  • Posts: 23
Re: various questions about finalizing my project
« Reply #8 on: March 02, 2015, 12:53:22 pm »
Quote
Just my view:  while I am neutral on menus vs buttons, I detest iconic buttons. In systems with buttonbars with icons I seem to  forever looking at the hints to see what they mean. From the icons I eventually use,
I use them more because I remember their place, then because of their picture.

So whatever you do, don't use icons, use buttons and controls with text. At least a certain percentage of users must feel exactly like me :-)

Indeed. My buttons are all textual and all controls are textual. What I meant with colors is that I use them to differentiate when displaying information, so that user knows which information pertains to each category. I am not overusing though, I have got around 4-5 categories. I really think that the user experience improves with a little bit of color-differentianing, but of course the customers will have the last say in this. For what is worth, i detest iconic button too. But in some controls (choose directory, choose date) they come in as a default and I think that I will let live those controls, they are absolute minority anyway.

I am sorry if my post was not clear on certain spots. Typing fast and making a lot of ambiguity, just like programming... cracked some bugs today so I am making nice progress. I attached my control bar, so that you guys can comment if anything is very wrong.

 

TinyPortal © 2005-2018