Notices


Poll: Do you want a standard qwerty in landscape mode?
Poll Options
Do you want a standard qwerty in landscape mode?

Reply
Thread Tools
eitama's Avatar
Posts: 702 | Thanked: 334 times | Joined on Feb 2010 @ Israel.
#31
Originally Posted by realsportcars View Post
Really nice idea!i like it!
First of all i decided to change basical words order: atm for each word also subwords are listed (at start in alfabeticaly order). For example for "hello" you have "h","he","hel" and so on. I decided to put on the top complete words: so compositing "hello" you will have (probably): "i" "he" "gel" "hell" "hello". In this way abbreviation are at the end of the list from the first run. This can help a lot for spare words.

However i pull put also the option for send statistics: untill i have a dedicated server we can use simply an email with attached the dictionary file. If option is enabled a prompt appears each week and ask for sending it when a connection is available.
The big problem that i see is the "count": atm dictionary is loaded in memory and i have already problem about it. Today i thought about a possible solution and now im writing code to test it. If it works adding a count sholud not be a problem.

If you or someone others want write the function to send email (checking connection availability, date from last send,using QtMobility API,ecc) i will add it asap

PS scan conversation from 10 phones is more privacy-intrusive and i think that it cant give the same feedback as the previous idea!
I am just starting with C++/Qt, I am more of a C# / TCL dude,
If I find out how to do it, i'll gladly send you the code.
It should be too hard.

Edit :

I just did some search and there is no native support for SMTP in Qt, so you have to find the code that implements an SMTP client or write it yourself over raw TCP socket.
Also you need to find an smtp server that will allow you to send mutliple e-mails from different locations without limits, I don't know if that doable.
I find HTTP much more attractive, especially when there is "#include <QtNetwork>" which gives you an HTTP client.
If you decide to go for HTTP, I might be able to help more, you still need an http server somewhere (:
__________________
| Developer of Horizontal-Call - Call your contacts, fast! |
| Reverse SSH - access your N900 from anywhere, anytime |
| Using Samsung Galaxy S GT-i9000 and Nokia N900 |
| DonateMe - If you feel I helped you in a very good way, feel free to donate |

Last edited by eitama; 2010-06-15 at 20:34.
 
Posts: 401 | Thanked: 724 times | Joined on May 2010 @ Italy
#32
Originally Posted by eitama View Post
I am just starting with C++/Qt, I am more of a C# / TCL dude,
If I find out how to do it, i'll gladly send you the code.
It should be too hard.

Edit :

I just did some search and there is no native support for SMTP in Qt, so you have to find the code that implements an SMTP client or write it yourself over raw TCP socket.
Also you need to find an smtp server that will allow you to send mutliple e-mails from different locations without limits, I don't know if that doable.
I find HTTP much more attractive, especially when there is "#include <QtNetwork>" which gives you an HTTP client.
If you decide to go for HTTP, I might be able to help more, you still need an http server somewhere (:
About the server: what do you need exactly? only an http address??? Sorry for stupid question but im less than a beginner about this!
If you are able to implement it using HTTP, no problem!

However im looking about using a db (SQLITE) for the app...
 
eitama's Avatar
Posts: 702 | Thanked: 334 times | Joined on Feb 2010 @ Israel.
#33
Originally Posted by realsportcars View Post
About the server: what do you need exactly? only an http address??? Sorry for stupid question but im less than a beginner about this!
If you are able to implement it using HTTP, no problem!

However im looking about using a db (SQLITE) for the app...
You need a server with unlimited BW, even a home computer will do but thats your choice. The server needs a public IP address, or a private IP with NAT port forwarding of some pre-known port.
The well known is 80, but I wouldn't use it.
You then setup the router / firewall to port forward that port.
You need no-ip dynamic dns if the IP changes.

If your server is windows, you can install IIS on it with ASP.NET 2 or 3.5, and I can write code easily to intercept the requests for you.
If it's linux, you need apache with php at the backend.
You can then install mysql or sqlite on either, and the backend code can access it to insert new info or even display it.
(I have never written code that accesses databases).

On the client side it's more then easy, the goal is to write a function that accepts an array of structs, or hashlist / hashmap containing pairs of elements. <Name> <Count>. That will be converted to XML inturn, and posted with HTTP post to the servers address.
__________________
| Developer of Horizontal-Call - Call your contacts, fast! |
| Reverse SSH - access your N900 from anywhere, anytime |
| Using Samsung Galaxy S GT-i9000 and Nokia N900 |
| DonateMe - If you feel I helped you in a very good way, feel free to donate |
 
Posts: 402 | Thanked: 229 times | Joined on Nov 2009 @ Missouri, USA
#34
Originally Posted by realsportcars View Post
Primarily I do it in this way to try to manage AutoOrientation well, but it doesn't work anyway. And then i forgotten to move the function

However.....did you use (for example) this or there are others functions?
Code:
w.setAttribute(Qt::WA_Maemo5AutoOrientation, true);
Yes. In fact, check out the source for MaeGym. Specifically welcome_window.py

Should be easy enough to convert the relevant parts to C++
__________________
aspidites | blog | aspidites@inbox.com
 
Posts: 2,829 | Thanked: 1,459 times | Joined on Dec 2009 @ Finland
#35
Just installed and now it has been basically hang/not responding for 2 minutes in setttings screen and no feedback to user about loading. Also n900 is pretty much locked down right now even screen lock works with long delay. No mention about this in first post so is this normal? Going to end task now. Unusable for me.
 
Posts: 282 | Thanked: 18 times | Joined on Mar 2010
#36
using it . .soon it's gonna be my default application to send sms . .


thanks
 
Posts: 51 | Thanked: 32 times | Joined on Jan 2010
#37
You could create a feature which uses the already stored conversions on the users phone to prelearn the word importance.

And in general you could use for example some wikipedia articels to learn ad get a general order deliverd with the applciation. Then the user could use a learn function which goes over his converstions and adjust the word order to the used words there.

On most cases that should give a pretty good inital word order.

Other then that: You need to really optimize the memory usage. There for a opmiziation of the dictonary format on disk and in memory is needed. Also a minimziation of the size of it. (There are lots of uncommon words and things in it. If the user really needs some of those, he can learn them to it on his own).

The real T9 works with very low memory usage. It even works on very basic phones with less than 1 MB of RAM!. You can't go that down, because that technics used there are complex and patent. But there is lots of potential to opimize it.

(I am at work right now, but will look into it the next days and hope to come up with some ideas)
 
Posts: 68 | Thanked: 16 times | Joined on Feb 2007
#38
great application!!! THANK YOU!
If only it was faster at startup

Thank you!
 
Posts: 401 | Thanked: 724 times | Joined on May 2010 @ Italy
#39
Hello guys...
I read all your post since yesterday and i have decided to:
-move to a db as data source or other datatype that the one used now: memory usage will be drastically reduced, and startup will be very fast: no data are loaded in memory until it is used
-dictionary will be given as pre-compiled: no wait on first start and i can introduce more easily new features,but for new languages users have to ask to me
-Real T9 had and have a company working on it: im alone so please be patient

@slender and not only: NOT USE ENGLISH-FULL dictionary! It use 40% of memory on N900!!!

@DanielW: the problem about uncommon words is this one: if you want write "supercalifragilistichespiralitoso" and you dont have also "s" "su" "sup" and so on, nothing appear on the screen until the key-combination doesn't match exactly the word. This is the reason for not-existant word in dictionary.
Introducing the db give me the chance to add more values for controlling witch word comes first. In next release the app will suggest word based on count and their completeness. Perhaps the scan on wikipedia page (or similar) is a good idea since it will be done only one time and in pre-release time: users have no to wait nothing

However I think that the bigger problem atm is memory usage and load-time. After resolve it i will move on improve and implementing features.
 

The Following User Says Thank You to realsportcars For This Useful Post:
Posts: 51 | Thanked: 32 times | Joined on Jan 2010
#40
Ok I got that. But you can already show words not fully written.

And about using a DB: That may help. Though I am not total sure if it well be fast enough for as fast as it could be.

Lets say you use a sqlite db (anything else wouldn't make sense I believe) you would at best need on query per keypress.

But then what db schema would that need? Obviously not just the list of all words in one big table.

You could just use the DB for user added words and for the rest you can use an index tree in memory.
 
Reply


 
Forum Jump


All times are GMT. The time now is 14:41.