Forum: General Topics
Forums / General Topics / Touch phones question
Subject: | Touch phones question | |
alevine 8:34 | Hello, Stephen. I bought Samsung S8000 Jet recently and have been eagerly searching for some navigation software for Java since then. It seems that yours is the best on the market at the moment. Really nice program. I am wondering, though, have you got any version which is optimized for touchphones like mine without hardware keys (basically at all)? The phone has 800x480 display but it is reduced for regular java programs to show arrows and other keys (8 in total in two rows) at the bottom of the screen. Honestly speaking they are usable but not very convenient. And one more question about vector maps. Is there any way to switch on displaying of streets because especially in 3d mode it is hard to determine where at the moment I am right now? All of the roads are anonymous, although on raster maps street names are known if zoomed enough. | |
Stephen 12:17 Location: Phone Model: | Hi Alevine, With the increasing number of touch-screen phones around now I would like to improve support for these. It won't be in the next version (due out in the next couple of weeks), but maybe once thats released I'll look into this a bit more. Incidentally, on the S8000 is there any way to hide the arrow keys and make TMJ run fullscreen? On the Nokia 5800 I think theres an option in the Application manager to do this, maybe the S8000 is similar? (Though this probably isn't much good until I can improve the TMJ touchscreen functionality)! The Vector Map street names display is rather fiddly. I did try displaying the names dynamically in a test version but it was completely rubbish, largely since J2ME has only very basic text support - no rotated text, for example. However, in the next version I have added an option that displays the current street (or at least the nearest street to the current location) in large letters at the bottom of the screen. I've found this generally works quite well (as long as the area you're in has good OSM data) - hopefully this will help... Cheers, Stephen | |
alevine 12:55 | Thank you for prompt answer, Stephen. At the moment Samsung Jet doesn't have user-available option to switch off the keys, however preinstalled Google Maps and some other applications (don't remember exactly which ones) on Java do this fullscreen, so programmatically there should be a way to do this. By the way maybe there is a point to increase the cache size limit? 99M is a rather small limit for new phones like this, although I have no idea how much information you manage to squeeze into such a cache. And I was wondering when I switch high-detail in navigation map does it mean that it loads more information from the server or is it just about showing? | |
Stephen 19:28 Location: Phone Model: | I've had a look on the Samsung Developer site for info on the phone, but they don't seem to provide much, so not sure how to set the fullscreen app. Is the preinstalled Google Maps definitely Java? Also, is the S8000 Windows Mobile-based, or Symbian? (Or something else?) Can't even seem to find this on their site... The default cache size should only be 2Mb (where did your 99M figure come from?)! The 2Mb should be enough for a couple of hundred tiles - the Vector tiles are more compact than the raster ones, which also helps. You can increase the cache (Menu/Settings/Other Settings) but the bigger it is, the slower it is likely to be since the JVM has to then take account of a lot more data. May not be such an issue on your phone though, looks pretty powerful! The High-Detail setting is a bit badly worded, I might change this for the next version. It defines the scale at which the phone will switch from one zoom level to another when zooming in/out. The High setting keeps the 'Higher-Detail' zoom level on screen for longer as you zoom out (eg, when zooming from level 9 out to level 8, the level 9 tiles will be displayed for longer). Not sure if this makes sense...! Cheers, Stephen | |
alevine 7:02 | I am sure that Google Maps and another app Navifon (which is another preinstalled navigator for this phone in Russia) are both Java. Because upon their start I am being shown the "Java powered..." screen for a couple of secs. And both are full screen. The phone has proprietary OS - it's neither Windows nor Symbian. However I don't think the information about full-screen mode is kept as a great secret by Samsung. I'll try searching and asking. If I know something I'll let you know. The figure 99M comes from me editing the 2M settings. Exactuly because this is quite a powerful phone (800Mhz processor, 1Gb DDR RAM, 2GB built-in flash + microSD up to 32GB) I wanted to get the most out of it. So I decided that I should let it cache everything and changed the setting to 99M. I wanted to change it to 200-300M but hit the limit. And the same about memory usage - 20M only. I would've increased it as well if possible. And loading of only 4 tiles at once is also a limitation - half of the time I have empty tiles. It would be possible to precash more of them for smoother performance with such a memory. By the way, if I can be of any help for checking or testing anything with my phone for you, I'd be glad. | |
Stephen 18:20 Location: Phone Model: | When you say you end up with empty tiles, is this because they *should* be empty - ie, there is no OSM coverage of that area, or is the phone having problems downloading the tiles (if so, does Context Menu/Vector Options/Reload Map make any difference)? I'd definitely decrease the cache a fair bit, try 10Mb. TMJ is designed to run on phones with just 1Mb Java Memory, so having masses of extra memory won't necessarily help it a great deal (2Mb should be more than enough). In the next version there'll be an option to keep the cache as plain files on the memory card, so it can then effectively be unlimited (without slowing TMJ down). However, this will only be of any use if the phone allows 'blanket' access to the memory card, without displaying permissions prompts all the time. (So Nokia phones won't benefit, but Sony Ericsson JP8 and BlackBerrys will). Does your Samsung show these messages, or is there an option in the Application Permissions settings to allow this? Cheers, Stephen | |
alevine 19:02 | There are various situations with the empty tiles as I observe. 1. They are loaded from web and are not shown until they are loaded. Pre-loading of nearby tiles might've be the solution, though it can slightly increase the traffic. So some sort of "fine" setting can control this. 2. They are loaded from cache (when I drive the place for more than once) in which case they appear sooner but still I have some empty spaces in the picture for some time. Preloading of all of the nearest tiles into program memory should help here if I correctly understand the mechanics of your program. 3. I have a tile for the road ahead already displayed and then as I drive next one is shown and the first, which is in center at the moment, disappears for some time. As I drive further it appears again. Similar effects happen for surrounding tiles. So the hole navigation goes not as smooth as it could. As for memory access - Samsung asks at the program start and if I click "allow, don't ask again" it never asks again until I exit the program. The same with the other permissions like access to GPS and access to internet. | |
Stephen 19:15 Location: Phone Model: | Mmmm, the tile loading does sound a bit hit-and-miss. This can happen if you're viewing zoom 10, and sometimes 9 as well, and are travelling fast enough that it keeps having to switch tiles. A lot of this is all done for preserving memory, so maybe I'll think about a 'high' memory option or something, that will try to keep more stuff loaded at once. I've made quite a few changes/tweaks for the next version (most of which I've forgotton about!), so once thats out see if it runs any better... Sounds promising if you only get the ONE prompt. However, does it definitely not ask again for loading/saving other files to memory (eg if you save the track or route). Some phones (Nokias/SE JP7) request permission for EACH file (but then remember the setting for that particular file for the rest of the session). The memory-card cache wouldn't work in this case... | |
alevine 21:20 | I am not sure where it puts its cache and where Java programs are stored. Most probably in internal 2Gb of flash - nothing is shown on the filesystem in the native filemanager. However I am absolutely positive that it (as well as all of the other programs) never asked me again after the first time during each session if I choose to ask me once. If I choose, though, to allow access only for one time it does asking me again, however I obviously do not use this option. By the way as I understand this phone on market is just the first one with high specs and they'll keep coming. And I can tell you that there is a tremendous demand for offline Java navigation program - in the forums for this phone everybody is asking about something like this. I recommended your software even now. But if you can tune up the program for powerful Java touchphones and provide precached vector-maps everybody will definitely choose your program against any other. Besides consuming lots of traffic (which is unacceptable for travellers) most of them are pitiful from the point of usability and performance. Even Windows Mobile ones like iGo (which I loved to use) in my previous Glofiish X650 does not provide some nice features like your ability to work with any raster maps even custom-made. Ah, I forgot of course that one more thing would've completed the picture - ability to route offline :) And for such a software I would've not minded to donate or even buy it for more than 15 euros. :) | |
alevine 19:07 | I got information that editing of the MANIFEST.MF in the Jar with program allows switching off the soft keys. Specifically either "UseNativeTextButtons: false" or "Touch-Support: True" helps. I haven't checked it. Just read in one of the forum. | |
Stephen 9:03 Location: Phone Model: | Thanks for that - I'll look into it. For the next release do you think it would be best to keep the onscreen icons, or are you able to use the current basic touchscreen functions sufficiently to control the program? Also, which version of TMJ did you install from the download page (eg Generic, Nokia S60, SE JP8+GPS, etc)? I'll create a specific S8000 build, based on this version... | |
9:33 | I used generic MIDP2.0 version. Without on-screen keys I could've not use it because touch everywhere does only one function - zoom in or something alike. I checked the compatibility table and found that for SE W960 some touch functionality is supported. I'm going to try it now. | |
alevine 9:45 | No, W960 version does something weird on my phone. Though it behaves differently from generic version it strangely acts upon touches in various areas of the screen. Especially in corners. So I think the Generic version is the best for now for my phone. If it was possible to allow dragging the displayed map with a stroke of a finger along with caching more maps in memory it'd be a great improvement. | |
Stephen 18:14 Location: Phone Model: | I'm surprised that the touchscreen works differently in the W960 version - there isn't actually any difference in the touchscreen code between that and the Generic versions. (So the touchscreen key mappings given in the Compatibility list for the W960 *should* work on all touchscreen phones). Does your touchscreen not do anything at all (even the basic 9-grid mapping noted for the W960)? If you have time could you perhaps try this (following your suggestion about the Manifest config): 1. Download the JAD and JAR files to your PC (the ones that you originally installed from) 2. Edit the JAD file: Change the MIDlet-Jar-URL line to: MIDlet-Jar-URL: jar_filename_without_website_path.jar (eg MIDlet-Jar-URL: tmj-mobile.jar) At the end add: MIDlet-Touch-Support: true UseNativeTextButtons: false 3. Copy both the JAD and JAR file to a folder on the phone 4. Install TMJ via the JAD file. (Hopefully the phone will allow this. You may need to totally uninstall your current version of TMJ first) Does it have any effect on setting it fullscreen and enabling the touchscreen? (If it goes weird just uninstall it and reinstall the original version) I also found these commands that are used on other Samsung phones, not sure if these will be needed on yours: ReverseSoftkeys: true UseNativeCommands: false LGE-MIDlet-TargetLCD-Height: [screen_height_in_pixels] LGE-MIDlet-TargetLCD-Width: [screen_height_in_pixels] Also, found this on Google: " In some recent Samsung devices, to get full screen they have settings in suite properties: Application Manager --> Installed Apps --> Select your MIDLet Then select OPtions --> suite settings and turn off navigation and game keys " Is this option available on the S8000? Cheers, Stephen | |
alevine 6:48 | I'll recheck the touchscreen behavior in generic version and will try the changes you proposed. No, such a setting in my Samsung does not exist. Maybe a useful information for you: I registered yesterday on http://innovator.samsungmobile.com/. There I was able to download Java SDK and some docs. There is a forum and also even an option to request testing of programs for Samsung test lab as I understood (I'm not sure how free it is though). | |
Stephen 21:08 Location: Phone Model: | Yes, I'm registered on the Samsung site too, though I couldnt find any info there on the S8000 the other day. The site has been down for maintenence all of today, so maybe they are adding more content. Will keep an eye on it... | |
alevine 5:31 | Yes, Stephen, it works fullscreen now with only two commands added to JAD. However, without any helpers it is rather counter-intuitive in terms of control now. There should be some (maybe transparent) marks placed to understand where to press. And it's hard to switch between panels without the number keys. You need to go to display/set page/panel... Also is it possible to move the map by means of dragging? Anyways, I'll try working with it this way and see if I can get accustomed. Besides, I have a couple of ideas for navigation which I found useful in Route66. I think they are doable in your program as well. There is a transparent bar below the screen showing current speed, distance to destination, current street and so on. And there is a transparent name of the street to turn to at the top. Also, they do not show to many street names stuck to the roads during the navigation. However, if you just tap the screen, panning of it stops, the arrow showing me moving goes further, but all of the nearest streets names are displayed in this mode. When I click the Back mark at the right corner (also transparent and level of transparency can be configured) the panning mode returns. | |
alevine 5:42 | I continued to play with the full-screen mode. By means of about 10 clicks I got to Navigation panel. There I loaded raster map of the World I pregenerated before at the zoom level 6. As usually, I don't know why it happens, I saw loaded nearby tiles and my center tile was not loaded (it mostly used to get loaded eventually after a couple of minutes). So I tried to navigate from this tile, which is in the middle of some ocean, to some land. I tried to tap at the top and bottom, right and left of the screen recalling that this should get the screen moving (and as I remember just holding the finger there doesn't move anything). But nothing changed. Eventually I tapped some place after which I was shown that I need to press the * key to unlock the screen and here I got stuck for good :) I had to quit the application. | |
alevine 5:50 | I understood what was wrong with shifting the map. I had to unlock the position by tapping at the center (the same as OK). But it is just awfull to try navigating out of the ocean to some better place by tapping million times at the top of the screen - now I understand sailors waiting for the land to appear after months of journey :) And it does blank the center tile right the moment it comes to the middle of the screen happily displaying surrounding ones (not all of them) instead. | |
macpanda 18:55 Location: Phone Model: | I might be mis-reading the tile issue, but doesn't it only download (or load from local) 4 tiles. If this is the case there can't be a centre tile. Perhaps when you pregen your map you could make the tiles larger so it only needs to have 4 in memory. I may be way off on this of course - Stephen? Paul | |
Stephen 21:54 Location: Phone Model: | Yes, when creating the Raster Maps in the MapOrganiser make sure you set the tile size to at least your phones screen resolution (480x800 for the S8000). Note that if the phone allows the screen to be rotated then it'll need to be 800px in both directions. This *might* then give memory problems (certainly would on lesser phones), as it has to load 4 of these at once, but hopefully the S8000 will be able to cope! (Good to hear that the MIDlet-Touch-Support trick worked. You might want to switch back though, or at least remove the UseNativeTextButtons:false bit until I can improve the touchscreen functions!) Cheers, Stephen | |
(You must be logged in to post a reply to this thread)