View Full Version : iPhone Slider (.NET CF) - Now V1.0 Stable!!
chrismrulz
3rd September 2007, 07:22 PM
The main improvements in the iPhone Slider over A_C's slide2unlock are that it's compatible with any devices that can run the .net framework, So it can be QVGA or VGA, 2003SE, WM6, And it's even compatible with running on desktop windows versions. All this by running the same executable. (edit: running on windows desktop produces errors now due to using some pocket pc libraries)
It also uses the proper iPhone fonts, and it should be less ram usage. (Tested under WM6 using memmaid it only used 1.87mb ram. some users are reporting strange memory issues which is being fixed though)
Screenshots: (Running on Pocket PC Emulator)
(QVGA)
http://img400.imageshack.us/img400/6228/iphonesliderii8.jpg
(VGA)
http://img400.imageshack.us/img400/1696/iphoneslidervgayv9.th.jpg (http://img400.imageshack.us/my.php?image=iphoneslidervgayv9.jpg)
if you're one of the people that find A_C's slide2unlock is incompatible with your ppc or eating up your ram, you can donate through paypal to motivate me to finish this: chrismrulz@hotmail.com.
Downloads:
- This is the main program: Slider.zip (http://www.freetrafficsite.com/slider/Slider.zip).
Try using this first. Just extract it to your device or SD card and run.
Note: To use the proper iPhone fonts, copy the included iPhone.ttf to your windows fonts directory (may also require soft-reset).
- If the 'slide to unlock' animation or arrow button don't scale properly on your VGA screen, extract Slider_VGAPATCH.zip (http://www.freetrafficsite.com/slider/Slider_VGAPATCH.zip) to the folder of the original version.
- If you want to change the wallpaper, use this: Slider_Config.zip (http://www.freetrafficsite.com/slider/Slider_Config.zip).
You can only run this on WM5-6 and on VGA devices at the moment.
Put it in a different directory to your main slider app directory. Put the wallpaper you want in GFX\Res\wallpaper.bmp. Then let run the app and let it exit by itself.
It will create a directory called 'GFXOUT' that contains the necessary graphics to use with your main slider app.
Then simply copy the contents of the generated 'GFXOUT' folder to your main app's 'GFX' folder (or delete it and rename GFXOUT to GFX and put it in there).
Note: If you aren't using the VGAPATCH version you will need to resize the slideanis.bmp to half the size using an image editor.
- Due to the larger VGA icons and a different filename, my slider app isn't compatible with the original iPhone launcher anymore.
So here's a modified version of the launcher: launcher.zip (http://www.freetrafficsite.com/slider/launcher.zip) that uses different icons.
It's also modified to show 'AT&T' instead of 'Unknown' if you don't have phone capabilities.
Source:
Slider_Source.zip (http://www.freetrafficsite.com/slider/Slider_Source.zip)
Slider_VGAPATCH_Source.zip (http://www.freetrafficsite.com/slider/Slider_VGAPATCH_Source.zip)
Slider_Config_Source.zip (http://www.freetrafficsite.com/slider/Slider_Config_Source.zip)
Updates:
-Update @ 4th September:
made images load externally. the app executable is only 18kb now.
added a function to make it fullscreen, but it's commented out atm as it leaves the screen mucked up when you close the app (until you soft-reset).
but as it is, adding the window state to maximized already makes it in fullscreen everything i've tested except for on the device emulator.
added vga quality background that will stretch to the resolution of the screen.
-Update @ 5th September:
added clock and date display.
added signal strength status and carrier name functions.
added lock icon.
added power status function (temporarily uses a built-in value and does not actually grab the power status at the moment though).
-Update @ 6th September:
added some 'fake' transparency effects. this would actually mean less resources are used. but i hope to find out how to do real transparency later on.
-Update @ 7th September:
added fake transparency to the slider bar and to the animated 'slide to unlock' images.
added real transparency for all the labels. the only thing left to make transparent now is the arrow button.
added dpi scaling method and VGA sized images. so it now fully supports VGA. if you are using a QVGA device, it will scale down to your screen size.
the clock will remove the leading zero from the time if it starts with it.
positioned labels more accurately.
-Update @ 8th September:
added function to animate the 'slide to unlock' image on the ppc the same way as with A_C's app :)
added proper battery status function.
added transparency on the arrow image.. but it's only a solid color so it's still not very good.
added iPhone fonts! if you want the app to use the same fonts as on the iPhone, copy iPhone.ttf to your windows fonts directory and soft-reset. if you don't do this it will simply revert to tahoma fonts.
-Update @ 9th September:
added a new way for drawing the fonts transparently. it will ensure compatibility across all screen sizes, and can draw the font positions exactly the same as on the iPhone (font sizes will need to be changed though).
the fonts are now always centered properly.
added an error check on the battery api. so it's now compatible running on desktop pc's again. it might also fix some ppc's.
-Update @ 10th September:
made fonts relatively positioned and accurate to the iPhone.
made fonts sized accurately to the iPhone.
changed font color of the date to the greener color it is on the iPhone.
fixed the huge performance hit and screen flashing when updating the images with fonts ontop of them. now all images that get refreshed will only do it if it's needed.
fixed a bit of code i left out in the previous vga fixes (binary and source). sorry about that, the vga fix will work now.
-Update @ 11th September:
changed speed of the slideback function to be more accurate to the iPhone.
-Update @ 12th September:
made arrow button image transparent, BUT.. once you move it it won't update the transparency.. so only when it's in the start position will it be transparent. it's still an improvement though.
modified the launcher app to use 'slider.exe' instead of 'slide.exe' so you can just use it with my slider app straight away. also fixed a problem with it still showing one battery image too big.
-Update @ 13th September:
finally got the arrow button image to stay fully transparent!!
it will now automatically open in fullscreen.
changed wallpaper and other images as the wallpaper was cropped a bit different to the iPhone.
changed slider app to use one toplock.bmp instead of a lock.bmp and top.bmp.
made a 'Config Creator' to generate the images for different backgrounds.
hosting the files on my server now as there are more than the maximum limit allowed in a thread.
improved fluency and speed of the 'slide to unlock' animation by a huge deal.
removed the blurryness of all the images.
due to using the 'config creator', the images are now VGA quality and not scaled up from QVGA.
changed carrier name font to arial. the rest will still use the iphone fonts though.
cleaned up arrow button image and moved it to the proper position.
-Update @ 15th September:
thanks to LlamaV3, the following bugs have been fixed:
exiting doesn't leave the titlebar from making it fullscreen.
glitchy graphics on the arrow button have been fixed.
carrier name no longer has a box symbol next to it.
because of this, i'm proud to announce the app as V1.0 stable! thanks LlamaV3 for getting us there!
-Update @ 23rd September:
Added LlamaV3's code to dispose of the images before exit, memory might be saved.
Thanks to Reichi, I've updated all projects to use png images instead of bitmaps.
Todo:
- add option for WM5/WM6 users to use proper alpha-blending transparency instead, so it's easier to modify the images like the wallpaper while not effecting everything else. (already have this working in another test project too)
- add wifi, bluetooth etc. status functions and icons.
- add better image buffering and/or option to use gapi/dx mobile to make moving the arrow image smoother.
- make config creator compatible with running in QVGA.
- add 'slide to answer'.. maybe..
- add registry/ini configuration. (will only add this once all the functions are complete though)
Mistellisch
3rd September 2007, 08:15 PM
Thumbs up from my side!
I'm really curious what we'll get to see.
I'd really like to test when you are at beta stage. Hopefully it will become a bit smoother and consume reasonably less ram.
Great! :)
dferreira
3rd September 2007, 09:21 PM
I don't get it... why would we need an slide 2 unlock if the device stays locked when we press once the power button?
Its just to add another step to do just to turn your device on!
Eiswritsat
3rd September 2007, 11:43 PM
more info pics???
Noiro
4th September 2007, 01:44 AM
Yeah I second that, pics woud be nice thanks.
dw02020
4th September 2007, 02:00 AM
I don't get it... why would we need an slide 2 unlock if the device stays locked when we press once the power button?
Its just to add another step to do just to turn your device on!
Very true haha. The damn iphone craze is addicting though.
:)
superflysocal
4th September 2007, 03:01 AM
slide2unlock has worked fine for me, but if this will hog up less memory then i will definitely give it a try.
fatouraee
4th September 2007, 06:37 AM
what programming language did u use. c .net or no. could you let me know . thank you
nEuDy
4th September 2007, 07:05 AM
I think he used Visual Basic .NET ;-)
Nice Code ;)
thanxx
chrismrulz
4th September 2007, 08:47 AM
I think he used Visual Basic .NET ;-)
Nice Code ;)
thanxx
C#.net
slide2unlock has worked fine for me, but if this will hog up less memory then i will definitely give it a try.
it only uses 18kb ram for the executable.
the other slide2unlock uses the PPL interpreter and requires use of gapi etc.
so if i get time to actually do the rest of the GUI, this would be better to use cos it's better performance (and would be compatible with all screen sizes and OS's due to using .NET framework).
but as it is now, it's just proof of concept for the slider.
btw people asking for screenshots,
theres no point atm really.
the point was to show how the slider works, and compatibility/performance. the graphics/UI has hardly been started on yet.
anyways:
http://img388.imageshack.us/img388/1414/unlockfa2.jpg
Mistellisch
4th September 2007, 09:05 AM
I don't get it... why would we need an slide 2 unlock if the device stays locked when we press once the power button?
Its just to add another step to do just to turn your device on!
Obviously just haven't understood the advantage of a devicelock application yet.:p How is your device reacting after a call has come in you didn't take or you received a message that is shown on the display or a reminder popped up for your next appointment and you carry your device in your pocket?
Yes, the display stays on sensitive for every input to come until your preset timer shuts it off again after, say, 2 minutes. :eek:
A devicelock application is there to prevent e.g. calling someone by accident or triggering programs without knowing while you carry your device in your pocket. As long as it stays quiet and all buttons are out of function except for your powerbutton then it's fine without such an application - then you just have to be careful not to press it by accident. On every other occasion described above you just (ok, maybe not you, but many other people around;) ) need a devicelock.
And: why I'm not using the default devicelock by Windows Mobile? Because it's not auto-locking my device when going to standby as Slide2Unlock can and it is not as good looking as the smooth slider...
Understandable?:)
Mistellisch
4th September 2007, 09:10 AM
even with all the images embedded in the executable as it is now, it's 68kb.
when it loads all the files externally it will probably only use about 20kb ram for the executable.
the other slide2unlock uses the PPL interpreter and requires use of gapi etc.
so if i get time to actually do the rest of the GUI, this would be better to use cos it's better performance (and would be compatible with all screen sizes and OS's due to using .NET framework).
:eek: That's quite a difference to 5,5 MB of RAM consumption of Slide2Unlock!
Great, I'm really appreciating your work! Please don't stop your development.
NeoPheus
4th September 2007, 09:18 AM
Just a quick question:
How are you planning the transparency? I don't think you can do it with vb.net, can you?
cYa ~Neo
tene
4th September 2007, 09:23 AM
:eek: That's quite a difference to 5,5 MB of RAM consumption of Slide2Unlock!
Great, I'm really appreciating your work! Please don't stop your development.
Except it's a bit naive to count ram this way ;)
As it's .NET it require the .NET runtime, if he adds feature like SMS counter, etc... it will add some libraries to that.
Graphics are in memory also, so for instance, one image (the background) 240*320*16bit will takes around 160Kb.
Anyway, I wish you good luck for your project.
dferreira
4th September 2007, 09:41 AM
Obviously just haven't understood the advantage of a devicelock application yet.:p How is your device reacting after a call has come in you didn't take or you received a message that is shown on the display or a reminder popped up for your next appointment and you carry your device in your pocket?
Yes, the display stays on sensitive for every input to come until your preset timer shuts it off again after, say, 2 minutes. :eek:
A devicelock application is there to prevent e.g. calling someone by accident or triggering programs without knowing while you carry your device in your pocket. As long as it stays quiet and all buttons are out of function except for your powerbutton then it's fine without such an application - then you just have to be careful not to press it by accident. On every other occasion described above you just (ok, maybe not you, but many other people around;) ) need a devicelock.
And: why I'm not using the default devicelock by Windows Mobile? Because it's not auto-locking my device when going to standby as Slide2Unlock can and it is not as good looking as the smooth slider...
Understandable?:)
I usually answer my calls, so I never had noticed this issue...
Mistellisch
4th September 2007, 09:48 AM
I usually answer my calls, so I never had noticed this issue...
So you see: you never ever stop learning... :p
watchdog
4th September 2007, 09:49 AM
Great
I'm looking forward to future releases
A_C
4th September 2007, 10:35 AM
Welcome to the hell of SLIDE :D
Just out of curiosity, how long the program takes to start? And when comparing to PPL, which one is easier to code?
Good luck & hope you enjoy the trip. :)
NeoPheus
4th September 2007, 10:41 AM
Welcome to the hell of SLIDE :D
Just out of curiosity, how long the program takes to start? And when comparing to PPL, which one is easier to code?
Good luck & hope you enjoy the trip. :)
Slide2Unlock is slower to load but in Slider there isn't signal bar, battery and so on...
PPL and VB.net are both quiet easy to code...
cYa ~Neo
chrismrulz
4th September 2007, 12:12 PM
Except it's a bit naive to count ram this way ;)
As it's .NET it require the .NET runtime, if he adds feature like SMS counter, etc... it will add some libraries to that.
Graphics are in memory also, so for instance, one image (the background) 240*320*16bit will takes around 160Kb.
Anyway, I wish you good luck for your project.
I've just updated it to load the images externally.
So it's 18kb for the app now.
btw those images are jpeg's and gifs. so it can actually be at vga quality for that size you mentioned (160kb).
.NET is a more optimized framework than just a runtime. and shouldn't use up anywhere near as much ram.
try comparing ram usage with a benchmarking tool before and while using both apps, if you want to get actual proof though.
Just a quick question:
How are you planning the transparency? I don't think you can do it with vb.net, can you?
cYa ~Neo
i'm fairly certain this would be easy to do and that there are apps with transparency using .net cf.
i know for a fact that it's dead easy to do for just plain vb.NET (not the compact framework version).
if all fails i can just use gapi which would definitely have it. just trying to stay away from using that so it can still work on older devices aswell.
Welcome to the hell of SLIDE :D
Just out of curiosity, how long the program takes to start? And when comparing to PPL, which one is easier to code?
Good luck & hope you enjoy the trip. :)
lol thanks,
the program starts a bit under 1 second on my iPAQ.
i'd have to say C#.net would have to be a hell of alot easier when coding from scratch than a lower-level one like PPL.
but it would be alot easier if the current slide2unlock on PPL was able to work on WM6/VGA rather than just me starting from scratch.
if i ever get it to the stage slide2unlock is at, this would be alot easier to add stuff to for sure.
would you be interested working with me on this C#.net one?
i just need someone to setup the graphics stuff properly. it would need to be relative positioning to the screen size, so it can work in VGA.
i can easily do the coding parts like grabbing the time and registry keys for the phone stuff and update them,
and work on making it fullscreen,
and add an ini file to configure it, and add the ability to make it use gapi with sprites.
it's just getting the graphics setup relative to the different screen sizes that is my priority now.
it's slowing me down cos i'm just thinking about how to do it, and not actually spending time coding anything.
would really appreciate some help.
mr_ding
4th September 2007, 01:05 PM
Great work.
Maybe if you two combine codes, then some of the extra features from Slide2Unlock (e.g. weather, SMS, missed calls, ...) will show up on this version as well.
Anyway, it's nice to see this.
dferreira
4th September 2007, 01:21 PM
How about not calling this software iPhone slider? more like Windows Mobile Screen Locker: WMSLider :D
LlamaV3
4th September 2007, 01:49 PM
lol, this is the day I uninstall vb.net from my machine to make room.
i've still got it set up at home.
if you need any help at all then let me know. I agree that you should join forces with A_C or at least look over the code the original developer gave away.
this looks good and i'll definately be following it. I could probably do without the calendar, weather and missed calls from A_Cs but I think there should be a clock and a way of dealing with incoming calls.
chrismrulz
4th September 2007, 01:56 PM
if you need any help at all then let me know. I agree that you should join forces with A_C or at least look over the code the original developer gave away.
this looks good and i'll definately be following it. I could probably do without the calendar, weather and missed calls from A_Cs but I think there should be a clock and a way of dealing with incoming calls.
yeah it's gonna use the same filename's as A_C's.
I don't really have a way of testing out the phone functionality,
But as far as the clock and other stuff is concerned, they're all planned, and easy to do,
Just don't have that much time to do it atm.
All up I've only spent about 2 hours total on it so far.
But now that the slider part is actually fully working, the majority of it has been done.
Just needs someone else to help add all the graphics stuff (and make it accurate to the iPhone).
larna
4th September 2007, 02:12 PM
But now that the slider part is actually fully working, the majority of it has been done.
Hehe, i think majority has yet to unleash itself upon you. When you start to realize all the different events you have to handle. :)
I made a slider called iLock ( ;)) in plain C. It uses very small amount of ram and is very fast. It has clock and date too. But locking part is missing. Because i didn't want to hassle with locking functionality.
Anyway, good luck with your project!
larna
Mr Groch
4th September 2007, 02:39 PM
VGA support? Yeah !! If this will work also in landscape - This can
be my default slide app (I don't need a Caller ID, etc functions)
chrismrulz
4th September 2007, 03:17 PM
VGA support? Yeah !! If this will work also in landscape - This can
be my default slide app (I don't need a Caller ID, etc functions)
long way to go before it's going to be practical to use though.
btw, updated with clock and date functions.
A_C
4th September 2007, 03:41 PM
@chrismrulz,
Thank you for your invitation, but I'm quite tired after almost 4 months of working on S2U. As I said in my past posts, the development environment of WM is totally a disaster. Everytime I tested some functions & work well on my device/emulator, then someone will tell you they're not work on their device. So the more features you add, the higher chance they'll not work on some devices.
Anyway, I've talked too much & hope it won't discourage you. So it's your show time now.
GOOD LUCK!
AJerman
4th September 2007, 04:06 PM
Not to rip on you or anything dude, and I certainly don't want to discourage you, but I don't think you know how the .NET framework works. The .NET framework uses A LOT more RAM than native code. It runs as a semi compiled, semi interpreted language, and requires the .NET framework overhead to do that interpretation, while a compiled app only relies on it's single file to do everything that's necessary. I assure you that you will never create a .NET app that uses less RAM than a native language app anyday. The file size can be small, all .NET file sizes are small, because as we already mentioned, it doesn't have all of it's dependencies compiled in, but the .NET framework is very memory heavy. Read what tene said earlier, he's already had experience creating an entire app using .NET, then moving over to native code to make it run faster and use less RAM.
Example (I've tried to make these identical for the test):
helloworld.exe: 464 KB, Native C++ code
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
cout << "Hello World";
cin.get();
return 0;
}
helloworld.net.exe: 16 KB, .NET (C#) code
using System;
namespace helloworld.net
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World");
Console.ReadLine();
}
}
}
Result:
http://www.ajerman.com/f/nativevs.net.jpg
Granted this is on a PC, but the results would be similar on a PPC. Also, that's a very basic demonstration, as you load a few more libraries in, the RAM usage will shoot up very quickly in .NET. Don't get me wrong though, I love .NET, I get paid to write code in it all day long, I'm just trying to clear up a few misconceptions here. Best of luck with your application.
mrbrady12
4th September 2007, 04:10 PM
Being that A_C's version doesnt work for me i am very excited to give this a try. I use Touch_It rom for the Herald (T-Mobile Wing) and have one that i can break and test with so any testing you feel at risk let me know. What i really want to test if this works on cooked roms or only WM6 factory. I am finding alot of programs dont work with these cooked roms (which is ok cause i like the cooked rom more than the prgms).
Keep the great work!
nomb
4th September 2007, 04:13 PM
Not to rip on you or anything dude, and I certainly don't want to discourage you, but I don't think you know how the .NET framework works. The .NET framework uses A LOT more RAM than native code. It runs as a semi compiled, semi interpreted language, and requires the .NET framework overhead to do that interpretation, while a compiled app only relies on it's single file to do everything that's necessary. I assure you that you will never create a .NET app that uses less RAM than a native language app anyday. The file size can be small, all .NET file sizes are small, because as we already mentioned, it doesn't have all of it's dependencies compiled in, but the .NET framework is very memory heavy. Read what tene said earlier, he's already had experience creating an entire app using .NET, then moving over to native code to make it run faster and use less RAM.
Example (I've tried to make these identical for the test):
helloworld.exe: 464 KB, Native C++ code
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
cout << "Hello World";
cin.get();
return 0;
}
helloworld.net.exe: 16 KB, .NET (C#) code
using System;
namespace helloworld.net
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World");
Console.ReadLine();
}
}
}
Result:
http://www.ajerman.com/f/nativevs.net.jpg
Granted this is on a PC, but the results would be similar on a PPC. Also, that's a very basic demonstration, as you load a few more libraries in, the RAM usage will shoot up very quickly in .NET. Don't get me wrong though, I love .NET, I get paid to write code in it all day long, I'm just trying to clear up a few misconceptions here. Best of luck with your application.
AJerman is correct. I also get paid to write code in .NET as he put it. :D .NET will always use more ram the a program written in a native language. The only reason I choose to use .NET for nombcrypt is because of the cryptography namespaces it has included in it. I am planning to convert over to c++ at some point I just need to figure out how to create the GUI in a native language.
nomb
chrismrulz
4th September 2007, 04:31 PM
Granted this is on a PC, but the results would be similar on a PPC. Also, that's a very basic demonstration, as you load a few more libraries in, the RAM usage will shoot up very quickly in .NET. Don't get me wrong though, I love .NET, I get paid to write code in it all day long, I'm just trying to clear up a few misconceptions here. Best of luck with your application.
it's true that you shouldn't go by the executable size, but results wouldn't be the same as what you provided.
the compact framework is extremely different to the desktop .net framework. as is PPL from C++. (mainly because PPL is actually an interpreter whereas C++ is not)
also, the code you provided was C# not VB.
and luckily to write a hello world in VB all you need to have is:
public class hello
public sub hello ()
msgbox("hello")
end sub
end class
if you really want to test it you need to compare PPL's memory usage to VB.NET CF usage, not plain C#.NET vs C++.
AJerman
4th September 2007, 04:36 PM
it's true that you shouldn't go by the executable size, but results wouldn't be the same as what you provided.
the compact framework is extremely different to the desktop .net framework. as is PPL from C++.
also, the code you provided was C# not VB.
and luckily to write a hello world in VB all you need to have is:
public class hello
public sub hello ()
msgbox("hello")
end sub
end class
Okay, that's fine, do whatever you want to do.
chrismrulz
4th September 2007, 04:50 PM
that was a good point though, you shouldn't be judging by the executable size.
but i think you'll find memory usage would be less than PPL, and it will be more compatible.
the main reason i'm doing it is for the compatibility though.
i can't get slide2unlock to work on my device, but i knew that if i started using the .net cf framework, it's compatible with all OS' that can run it.
heck, you don't even need to use glide.
that being said, it's still alot of work.
just wanted to give the programmers the idea and a head start on the project, incase i give up on it.
cos theres alot of us out there using WM6 (or VGA, i don't know what the common factor is) that are saying slide2unlock doesn't work for us.
tene
4th September 2007, 06:19 PM
Read what tene said earlier, he's already had experience creating an entire app using .NET, then moving over to native code to make it run faster and use less RAM.
Well to be honnest, I moved because of SMS, it's hard to impossible to get access to sms account trough cemapi. Also because getting new/updated/deleted contact notification was complex.
The only issue I had with memory is in the way users see it, they still see it as a rare resource that need be spare.
And also, comparing two executable that does hello world will always give better result to the lower level language (I don't even know how you manage to make a 400Kb executable... should be more like 10K)... but when comparing big application the difference is not so noticeable, I tried to explain that what will eat memory is graphics, and in C++, C#, or whatever, a bitmap is still a bitmap and still eats memory.
Regarding this specific application, I'd encourage chrismrulz to continue in .NET... this app is a locker, so it's not running with thousand other app, it's used when you don't use the PDA: memory usage is less important. And doing it in C# alows really faster development... and even better, if more application become .NET the global cost of .NET will be less.
chrismrulz
4th September 2007, 06:51 PM
@AJerman:
here is a more practical test.
download the attached file which has a Slide2Unlock v1.0 compiled in PPL for desktop windows (with slightly modified usage of filenames).
it uses a QVGA quality image as the background, whereas mine is a VGA sized one.
if you run that PPL-coded slide2unlock in windows, it uses 8-9mb ram.
if you run my VB.NET-coded app in windows, it uses 4-5mb ram.
i'm sure if you tested it on an actual pocket pc it would be even less ram though.
AJerman
4th September 2007, 07:35 PM
@AJerman:
here is a more practical test.
download the attached file which has a Slide2Unlock v1.0 compiled in PPL for desktop windows (with slightly modified usage of filenames).
it uses a QVGA quality image as the background, whereas mine is a VGA sized one.
if you run that PPL-coded slide2unlock in windows, it uses 8-9mb ram.
if you run my VB.NET-coded app in windows, it uses 4-5mb ram.
i'm sure if you tested it on an actual pocket pc it would be even less ram though.
The problem is, you're comparing .NET to PPL, not native code. The problem is when you said it's less memory, you were comparing to S2U, which I guess is in PPL (I was thinking it was native, that explains a lot though). My demonstration would show it's comparison with native C++ code and not PPL. If you really want to make something impressive, write a slider in C++ native code. Sure, it'll be a lot harder, but it'll use a lot less memory.
And tene, you're right, I forgot to optimize the C++ file. It ended up at 8kb, and thinking about it, I'd actually say I was getting them confused, C++ exes should be smaller since they are cleaned out more than .NET exes which still need enough structuring in them to be interpreted, however, I disagree that your native coded app will catch up to the .NET app as the application is bigger. On the contrary, in my past experience, .NET apps get incredibly large (up to 70-100 MB) on desktop PCs in no time at all once you start including more than a couple standard libraries into the code. While I know that the portable would be different sizes, I have no reason to believe that it's general trend is any different. Obviously resources will take up the same amount of space and memory in either app, like you say though.
Anyway, like I said, I certainly don't discourage you from using .NET, I would probably use it myself. Writing a slider like this in C++ would be a pain in the ass.
chrismrulz
4th September 2007, 08:29 PM
The problem is, you're comparing .NET to PPL, not native code. The problem is when you said it's less memory, you were comparing to S2U, which I guess is in PPL (I was thinking it was native, that explains a lot though). My demonstration would show it's comparison with native C++ code and not PPL. If you really want to make something impressive, write a slider in C++ native code. Sure, it'll be a lot harder, but it'll use a lot less memory.
And tene, you're right, I forgot to optimize the C++ file. It ended up at 8kb, and thinking about it, I'd actually say I was getting them confused, C++ exes should be smaller since they are cleaned out more than .NET exes which still need enough structuring in them to be interpreted, however, I disagree that your native coded app will catch up to the .NET app as the application is bigger. On the contrary, in my past experience, .NET apps get incredibly large (up to 70-100 MB) on desktop PCs in no time at all once you start including more than a couple standard libraries into the code. While I know that the portable would be different sizes, I have no reason to believe that it's general trend is any different. Obviously resources will take up the same amount of space and memory in either app, like you say though.
Anyway, like I said, I certainly don't discourage you from using .NET, I would probably use it myself. Writing a slider like this in C++ would be a pain in the ass.
yep.
i agree on the desktop windows versions, native C++ is going to be faster than .NET in most cases.
But slide2unlock isn't anything near C++. And .NET CF isn't quite same as plain .NET.
But, on the topic of your cpp vs c# comparison,
Now days you can convert .net applications to native code, and in the long run can turn out faster than some cpp apps.
For .NET CF you can also use opencf.net which can be faster than some cpp apps.
but yer, a native C++ would probably be the best option, but this is still better than PPL and will use less ram than it,
and as it's a GUI it's much easier to just use VB.NET CF and wont be much difference.
if it was a game or something though, it would be alot safer to use native code.
hope that explains what i mean a bit better. ;)
AJerman
4th September 2007, 08:54 PM
Yeah, to be honest I was a little confused. I'm a programmer during the day to make a living, but I've still not tried programming on the PPC yet (Just got my first, a Mogul, a couple of months ago). I thought PPL was supposed to be some type of compiled C/C++ for WM. In reality, PPL sounds like one of the worst programming languages that I've ever heard of when I read over some info on it. It seems like it completely lacks structure, but hey, it lets anyone get in on the game I guess.
mr_yellow
4th September 2007, 09:59 PM
Can someone clarify, why doesn't A_C's slide2unlock work on wm6 devices? I'm running wm6 on my HTC prophet and S2U works fine... I guess it's just for some devices it doesn't work?
chrismrulz
4th September 2007, 10:07 PM
Can someone clarify, why doesn't A_C's slide2unlock work on wm6 devices? I'm running wm6 on my HTC prophet and S2U works fine... I guess it's just for some devices it doesn't work?
I guess it's either VGA devices, WM6 devices, "cooked-rom" WM6 devices, or the combination of some of them.
either way, there are quite a few people that just can't get it to even run. me being one :(
mr_yellow
4th September 2007, 11:17 PM
I guess it's either VGA devices, WM6 devices, "cooked-rom" WM6 devices, or the combination of some of them.
either way, there are quite a few people that just can't get it to even run. me being one :(
that's unfortunate.... thanks for clarifying. just wanted to make sure I'm not blowing anything up by running S2U on my wm6 device.. =)
mrbrady12
5th September 2007, 03:13 AM
Can someone clarify, why doesn't A_C's slide2unlock work on wm6 devices? I'm running wm6 on my HTC prophet and S2U works fine... I guess it's just for some devices it doesn't work?
I dont know either but on my T-Mobile Wing (Herald) i have tried many different ways and cant get it to work. I used the WM6 standard rom and nothing. I used PDaviets rom in the Herald section and the Touch_It rom which is what im staying with and nothing. I get as far and running the step in the PPC but nothing happens. Im waiting patiently to see how this program works cause the .exe file chris posted is the closests i have been to getting this to work on the Wing.
Anything you need me to test i will be glad. I have a backup in case something happens and the RUU wont recover the phone.
Look forward to your work.
chrismrulz
5th September 2007, 12:30 PM
just had an idea..
what if i made it in javascript!
talk about cross-platforming. then it could run on anything with a JS capable browser.
i've done more complicated stuff than the iPhone slider in JS.
take a look at this windows xp gui in JS i made about 5 years ago: http://www.freetrafficsite.com/win/matrix.htm (use IE)
doing an iphone slider in JS would be pretty cool. then just run pocket ie in fullscreen and voila.
only thing it wouldn't do obviously is updating icons for signal strength etc.
it'd be purely for showing off the iPhone look.
it could be made to close once you slide it though so it'd still have functionality.
fasgiu
5th September 2007, 12:35 PM
remove the fishes' wallpaper or apple will give you problems..
chrismrulz
5th September 2007, 12:44 PM
remove the fishes' wallpaper or apple will give you problems..
thanks, just removed it.
didn't know if it was copyrighted since it came up after like the first google image result.
LlamaV3
5th September 2007, 01:06 PM
thanks, just removed it.
didn't know if it was copyrighted since it came up after like the first google image result.
the clownfish picture is public domain.
http://www.winmatrix.com/forums/index.php?showtopic=8562
it was available way before the iphone was revealed. I think it is the sliding unlock bit that apple have the most beef with.
ebaker123
5th September 2007, 04:53 PM
Here is the error I receive. I tried recompiling in vs2005 and running in pocketpc emulator but I got the same error:
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.Runtime.InteropServices.ExternalException: A generic error occurred in GDI+.
at System.Drawing.Image.SelectActiveFrame(FrameDimens ion dimension, Int32 frameIndex)
at System.Drawing.ImageAnimator.ImageInfo.UpdateFrame ()
at System.Drawing.ImageAnimator.UpdateFrames()
at System.Windows.Forms.PictureBox.OnPaint(PaintEvent Args pe)
at System.Windows.Forms.Control.PaintWithErrorHandlin g(PaintEventArgs e, Int16 layer, Boolean disposeEventArgs)
at System.Windows.Forms.Control.WmPaint(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.O nMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.W ndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Loaded Assemblies **************
mscorlib
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
Slider
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Documents%20and%20Settings/ebaker/Desktop/HTC/Slider/Slider/bin/Debug/Slider.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
Microsoft.VisualBasic
Assembly Version: 8.0.0.0
Win32 Version: 8.0.50727.42 (RTM.050727-4200)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System.Configuration
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.
For example:
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>
When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
chrismrulz
5th September 2007, 05:50 PM
the clownfish picture is public domain.
http://www.winmatrix.com/forums/index.php?showtopic=8562
it was available way before the iphone was revealed. I think it is the sliding unlock bit that apple have the most beef with.
ok, well i've just updated it. added it back in and added transparency 'effects'.
if apple asks me to take it down i will though.
@ebaker- don't know what that problem is.
it's working fine on my iPAQ running WM6, ppc emulator running 2003SE, and windows vista. (all from the same executable)
LlamaV3
5th September 2007, 09:50 PM
had a quick look through the code and there is room for improvement as you said.
one thing that was very noticable on my htc p3300 was that the 2 timers conflicted. When the clock timer ticks it stalls the slideback timer for a few milliseconds. this means that when the slider slides back from a release it stutters once a second. to combat this I put a clock.enabled=false when the slider is out of position and renabled it when it is back in it's default location.
I also get a lot of blurring of the slider too. I think this may need to be buffered graphics or done with GDI. I'm looking at the possibility of using directx mobile for it. I'll dig around over the next couple of days and see if I can knock something together like that.
My graphics background is in opengl but I don't think we have that option on mobile devices do we?
mrbrady12
6th September 2007, 12:31 AM
just had an idea..
what if i made it in javascript!
talk about cross-platforming. then it could run on anything with a JS capable browser.
i've done more complicated stuff than the iPhone slider in JS.
take a look at this windows xp gui in JS i made about 5 years ago: http://www.freetrafficsite.com/win/matrix.htm (use IE)
doing an iphone slider in JS would be pretty cool. then just run pocket ie in fullscreen and voila.
only thing it wouldn't do obviously is updating icons for signal strength etc.
it'd be purely for showing off the iPhone look.
it could be made to close once you slide it though so it'd still have functionality.
I would say try either. As far as the app. It runs from file explorer which is how i got it to run. Cant wait to see updates.
chrismrulz
6th September 2007, 09:28 AM
had a quick look through the code and there is room for improvement as you said.
one thing that was very noticable on my htc p3300 was that the 2 timers conflicted. When the clock timer ticks it stalls the slideback timer for a few milliseconds. this means that when the slider slides back from a release it stutters once a second. to combat this I put a clock.enabled=false when the slider is out of position and renabled it when it is back in it's default location.
I also get a lot of blurring of the slider too. I think this may need to be buffered graphics or done with GDI. I'm looking at the possibility of using directx mobile for it. I'll dig around over the next couple of days and see if I can knock something together like that.
My graphics background is in opengl but I don't think we have that option on mobile devices do we?
yep i noticed those things.
but as i said it's just proof of concept at this stage, so you can see performance and compatibility and that everything actually functions. it's not meant to be practical just yet.
yeah the graphics definitely needs to improve.
but what is implemented at the moment, i will keep in the program as a backup solution if the hardware doesn't allow gapi or whatever i put in.
(kind of like how directx on the desktop will use a lower version if your hardware doesn't support the newest one they used)
i think opengl is possible on ppc's. can't remember where i saw it.
otherwise there's gdi, gapi, or directx/3d mobile.
i'm thinking maybe leave the way it is now as the lowest graphics acceleration, then one step up is either gdi or gapi, then another step up is to use directx mobile.
feel free to add anything to the source and send it to me and i'll check it out and use it to continue work on.
LlamaV3
6th September 2007, 10:17 AM
yep i noticed those things.
but as i said it's just proof of concept at this stage, so you can see performance and compatibility and that everything actually functions. it's not meant to be practical just yet.
yeah the graphics definitely needs to improve.
but what is implemented at the moment, i will keep in the program as a backup solution if the hardware doesn't allow gapi or whatever i put in.
(kind of like how directx on the desktop will use a lower version if your hardware doesn't support the newest one they used)
i think opengl is possible on ppc's. can't remember where i saw it.
otherwise there's gdi, gapi, or directx/3d mobile.
i'm thinking maybe leave the way it is now as the lowest graphics acceleration, then one step up is either gdi or gapi, then another step up is to use directx mobile.
feel free to add anything to the source and send it to me and i'll check it out and use it to continue work on.
I can't find much documentation on GAPI, do you have any good links?
dream2006
6th September 2007, 11:46 AM
got the same problem any help.
chrismrulz
6th September 2007, 01:19 PM
I can't find much documentation on GAPI, do you have any good links?
lol, just googled ".net cf gapi" and it only came up with ms's gapi wrapper and this thread as the top results.
chrismrulz
6th September 2007, 11:02 PM
i've started a thread on experts-exchange to see if they can find out how to do the transparency on the arrow image.
once thats done, it's almost able to be used practically :)
at this stage it's already looking awesome in vga quality on my hx4700 :D :D
update: i've been able to make it transparent to 1 solid color, but that doesn't help as i need it to be transparent to the image behind it.
it's looking like it could be easily done though.
chrismrulz
7th September 2007, 04:41 PM
update: i've just got the 'slide to unlock' image to actually do the animation on the pocket pc (same method as A_C's. the frames are stored in a bitmap).
soon as i figure out how to make the arrow button transparent (it's hard to use fake transparency when it constantly moves), i'll call it V1.0 stable :)
LlamaV3
7th September 2007, 07:27 PM
i'm still trying to get the slider buffered properly
chrismrulz
7th September 2007, 10:02 PM
i'm still trying to get the slider buffered properly
thanks man.
and if you do, can you implement it into the latest version?
btw, i found the exact fonts that the iPhone uses.
so i've added it to the app. only catch is you need to copy the fonts to your windows directory yourself and soft-reset. The app will use them once thats done though.
here's how it looks :)
http://img77.imageshack.us/img77/2882/iphoneslideron1.jpg
LlamaV3
8th September 2007, 11:17 AM
if you're using the open cf then you can take a look at this:
http://blog.opennetcf.org/ayakhnin/PermaLink,guid,0b5a9c02-0a44-4d5e-85f9-949cab4ad8f3.aspx
sweet transparency and font drawing, his sliding movement isn't done very well but the actually drawing of the images is the great bit.
chrismrulz
8th September 2007, 01:11 PM
if you're using the open cf then you can take a look at this:
http://blog.opennetcf.org/ayakhnin/PermaLink,guid,0b5a9c02-0a44-4d5e-85f9-949cab4ad8f3.aspx
sweet transparency and font drawing, his sliding movement isn't done very well but the actually drawing of the images is the great bit.
wow, thanks for that.
it'd be good to make it still compatible with WM2003, but oh well.
are you able to implement that into this one?
best way to do it would be convert the source to vb.net then grab the original images from A_C's slide2unlock,
then add a
if(WINCE_OS >= 5.1) then doalphablending()
so then for 2003SE users they get what it's at now (which i'd keep working on). and WM5/6 users get perfect alpha blending.
then all that needs to be done is buffering the images properly and this would be 100% complete and ready for memory usage tests against slide2unlock to see if it makes it any better :)
if you can work with me to get this stuff done it'd be great.
Novembre5
8th September 2007, 04:48 PM
I was just wondering if you were going to make a slide to answer option. I am currenty using slide2unlock and the slide2answer function does not always work. It will work once and then after I receive another phone call I do not even get any caller id information, so I don't even know who is calling. So I was wondering if you had any plans on making your program work with a slide2answer function?
chrismrulz
8th September 2007, 07:30 PM
I was just wondering if you were going to make a slide to answer option. I am currenty using slide2unlock and the slide2answer function does not always work. It will work once and then after I receive another phone call I do not even get any caller id information, so I don't even know who is calling. So I was wondering if you had any plans on making your program work with a slide2answer function?
i don't really see the point of it. can't you just 'side to unlock' then answer your call?
but yer i might do that later on. just gotta sort out all the internal stuff first.
Novembre5
8th September 2007, 10:19 PM
i don't really see the point of it. can't you just 'side to unlock' then answer your call?
but yer i might do that later on. just gotta sort out all the internal stuff first.
When I have my phone locked by slide 2 unlock and my phone rings it unlocks my phone and sometimes if my phone is in my pocket it gets answered by accident. If I had to slide it to answer the phone then this will help me from accidently answering my phone. If it is possible to add this feature it would be a great help to everyone who has this same problem. Thank you for all your hard work!!!:)
chrismrulz
8th September 2007, 10:46 PM
When I have my phone locked by slide 2 unlock and my phone rings it unlocks my phone and sometimes if my phone is in my pocket it gets answered by accident. If I had to slide it to answer the phone then this will help me from accidently answering my phone. If it is possible to add this feature it would be a great help to everyone who has this same problem. Thank you for all your hard work!!!:)
well as it is now, if you get a phone call while it's running you'd have to slide to unlock then press answer.
so is the point of 'slide to answer' supposed to answer the call by sliding it?
and do they have that on the iPhone?
sorry i'm not up to date with all this..
mrbrady12
9th September 2007, 05:31 AM
First off great job. Even at the current stage its the only S2U that i have been able to get to work on my Wing. The way i get it going now is launch it from File explorer then i changed my voice dial button to take me to the home screen after I unlock. I was wondering if it were possible to get this be part of my launcher as a program rathen having to go into file explorer?
Also after unlocking can it go straight to my home screen where i can answer, etc?
Personallly the way it is now works great for me. Im sure others are waiting for those edits that you mentioned in your first post but damn at least alot of us can use it now.
Thanks again for your dedication.
chrismrulz
9th September 2007, 12:35 PM
I was wondering if it were possible to get this be part of my launcher as a program rathen having to go into file explorer?
if you mean that iphone launcher app that lawyer hosts on her website,
check out the first post to see a modified version of that which makes it compatible with this one. (btw you need to rename slider.exe to slide.exe)
to change what it returns to when you unlock,
make a start menu shortcut to it.
then you just open the app that you want it to return to when you unlock, and then launch my app from the start menu icon. which basically locks you from getting to that app.
or you could assign a button to launch it instead of a start menu shortcut.
Personallly the way it is now works great for me. Im sure others are waiting for those edits that you mentioned in your first post but damn at least alot of us can use it now.
Thanks again for your dedication.
well considering it's only 5 days old and it's only been me working on it in my free hours, not bad eh?
if you wanna speed it along though... *shakes money tin with big label saying PayPal*
chrismrulz
9th September 2007, 07:04 PM
sorry to the 2 people that downloaded that first update i did today.
you should download again cos i just added a pretty major fix to it.
steffan3301
9th September 2007, 09:20 PM
wich file do i need to install this programm on my HTC Touch and how do I install it?
LlamaV3
9th September 2007, 09:46 PM
wow, thanks for that.
it'd be good to make it still compatible with WM2003, but oh well.
are you able to implement that into this one?
best way to do it would be convert the source to vb.net then grab the original images from A_C's slide2unlock,
then add a
if(WINCE_OS >= 5.1) then doalphablending()
so then for 2003SE users they get what it's at now (which i'd keep working on). and WM5/6 users get perfect alpha blending.
then all that needs to be done is buffering the images properly and this would be 100% complete and ready for memory usage tests against slide2unlock to see if it makes it any better :)
if you can work with me to get this stuff done it'd be great.
Hi, sorry about the delayed response, I;ve had a mad weekend (househunting :( ) anyway, I'll take a look at the smoothness of that bar. my xda orbit shows major artifacts when dragging the bar. Also, will it be possible to increase the speed of the slideback animation from 1 pixel a tick to about 4 or 5? Just feels a little too slow.
chrismrulz
9th September 2007, 11:24 PM
I'll take a look at the smoothness of that bar. my xda orbit shows major artifacts when dragging the bar. Also, will it be possible to increase the speed of the slideback animation from 1 pixel a tick to about 4 or 5? Just feels a little too slow.
yer the arrow button just needs transparency and to be moved to use direct draw or gapi (while still keeping the script that tells it how to move etc.)
i don't know how you could buffer it as there's nothing to buffer until it's happened.
the timer for the slideback is as fast as it can go.
i can make it skip pixels to make it go faster but i dunno if that will look good.
wich file do i need to install this programm on my HTC Touch and how do I install it?
try the Slider.zip first and if the 'slide to unlock' animation doesn't turn out right the right size, patch over the top of it with Slide_VGAPATCH.zip.
LlamaV3
10th September 2007, 01:10 PM
Yeah, just try changing slideback to this:
Private Sub SlideBack_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SlideBack.Tick
If (SliderButton.Left > SliderBG.Left) Then
SliderButton.Left -= 4
Else
SlideBack.Enabled = False
End If
End Sub
maybe try
Private Sub SlideBack_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SlideBack.Tick
If (SliderButton.Left > SliderBG.Left) Then
SliderButton.Left -= 4
Else
SlideBack.Enabled = False
End If
End Sub
it may be smoother but I don't think the missing pixels are really noticable and it gives it a better "springing back" feeling.
LlamaV3
10th September 2007, 02:29 PM
I've added a kinda, springy slowing down of the slideback, I like the feeling of it, what do you think?
chrismrulz
10th September 2007, 03:07 PM
I've added a kinda, springy slowing down of the slideback, I like the feeling of it, what do you think?
woah, it's definitely too fast.
but i like the fact that it still stays smooth.
so we can use the same method to make it just a little faster so it's accurate to the iPhone's.
the springback isn't a bad idea, just i wanna keep the same functionality as the iPhone (i.e. you can grab it when it's sliding back)
just changed it to -2 and uploaded it. it looks pretty accurate. (i've been closely watching the iphone demo vids from apple.com lol)
when i get to adding configuration i'll add the option to change the slideback speed though.
mr_ding
10th September 2007, 03:56 PM
Quick Question:
I extracted launcher.zip, and ran iContact from it. It only shows letters (A to S) when I click on 'ABC', my contact from T to Z are missing.
chrismrulz
10th September 2007, 04:48 PM
Quick Question:
I extracted launcher.zip, and ran iContact from it. It only shows letters (A to S) when I click on 'ABC', my contact from T to Z are missing.
sorry dunno.. icontacts isn't my app.
i just included it in a modified version of the launcher app cos people tend to use that with slide2unlock.
larna's icontact thread is here: http://forum.xda-developers.com/showthread.php?t=303045
mrbrady12
10th September 2007, 05:33 PM
Definitely will make donation. I think i was referring to the launcher in the Touch Today screen (on my Wing). I am running it from the launch button (one of the 5 buttons on my home screen). Then when i unlock it takes me back to the file explorer were i start the program. I also renamed it slide.exe and only difference i noticed was the speed. Im not sure how to create a shortcut or have it return to anything (not that good at this yet).
Also, i noticed when i get a call it will let me answer without unlocking the phone. If i press lets say the messaging button on the right side of my phone i can see it going to messaging in the background. Same with camera, etc. I figured its becuase still in development stage.
Hope all these updates help. This program works great so far.
chrismrulz
10th September 2007, 06:14 PM
Definitely will make donation. I think i was referring to the launcher in the Touch Today screen (on my Wing). I am running it from the launch button (one of the 5 buttons on my home screen). Then when i unlock it takes me back to the file explorer were i start the program. I also renamed it slide.exe and only difference i noticed was the speed. Im not sure how to create a shortcut or have it return to anything (not that good at this yet).
Also, i noticed when i get a call it will let me answer without unlocking the phone. If i press lets say the messaging button on the right side of my phone i can see it going to messaging in the background. Same with camera, etc. I figured its becuase still in development stage.
Hope all these updates help. This program works great so far.
basically it will return to whatever was running it before it was launched.
so it's best to use a shortcut to it cos if you launch from file explorer it will just return to that.
didn't realize it doesn't stay ontop for phone calls etc.
i don't have a smartphone to test it on yet but i'll get around to that.
remember to use the latest versions though cos i'm always fixing things and making it faster ;)
mrbrady12
10th September 2007, 08:38 PM
Thanks. On what model phone are you testing this? I appreciate you taking the feedback from me and everyone else. To clear what i meant is that lets say i lock with S2U and i get a call, using the soft keys i can answer or ignore and S2U doesnt require to unlock (which im hoping will get fixed). But if i press the messaging button, or camera i can see in the header that its changing in the background but if i dont unlock at this point then i cant use programs.
Hope this clears it. Might be some setting to make it where the phone will ring and then require me to slide to unlock or slide to answer type of settings.
I am using the slider.zip file but will try the laucher.zip to see any difference. BTW: Using T-Mobile Wing (Herald, Atlas).
chrismrulz
10th September 2007, 09:08 PM
Hope this clears it. Might be some setting to make it where the phone will ring and then require me to slide to unlock or slide to answer type of settings.
I am using the slider.zip file but will try the laucher.zip to see any difference. BTW: Using T-Mobile Wing (Herald, Atlas).
yeah when you open another app and then switch back to the slider app (using itask or something) it'll get rid of the title bar problem.
the launcher.zip isn't a different version of the slider or anything so it wont make a difference. it's just a modified version of the launcher app so it's compatible with this slider app.
boyfriendinacoma
10th September 2007, 09:12 PM
i downloaded your iphone fonts to use on my phone for a_c's slide2unlock and the fonts are not working i put them in my windows/fonts help anyone?
chrismrulz
10th September 2007, 10:05 PM
i downloaded your iphone fonts to use on my phone for a_c's slide2unlock and the fonts are not working i put them in my windows/fonts help anyone?
they won't work for A_C's slide2unlock. his uses tahoma fonts and bitmaps for the time.
to use them in mine you need to put them in the fonts directory and soft-reset.
LlamaV3
11th September 2007, 10:53 AM
Public Sub updatestatus()
thetime = System.DateTime.Now.ToString("hh:mm")
If (thetime.StartsWith("0") = True) Then
thetime = thetime.TrimStart("0")
End If
thedate = System.DateTime.Now.ToString("dddd, MMMM d")
Dim RegPath As String = "system\state\phone"
Dim opname As String = Registry.GetString(Registry.RootKey.LocalMachine, RegPath, "Current Operator Name")
If (opname <> "" And opname <> "0") Then
carriername = opname
End If
If (thetime <> prevtime Or thedate <> prevdate) Then
MidBar.Refresh()
End If
If (prevcarriername <> carriername) Then
TopBar.Refresh()
End If
prevtime = thetime
prevdate = thedate
prevcarriername = carriername
Dim sigstrength As Integer = Registry.GetInt(Registry.RootKey.LocalMachine, RegPath, "Signal Strength Raw")
Dim ssimg As Bitmap
Select Case sigstrength
Case Is >= 80
ssimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Signal" & backslashes & "5.bmp")
Case 60 To 79
ssimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Signal" & backslashes & "4.bmp")
Case 40 To 59
ssimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Signal" & backslashes & "3.bmp")
Case 20 To 39
ssimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Signal" & backslashes & "2.bmp")
Case 1 To 19
ssimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Signal" & backslashes & "1.bmp")
Case Else
ssimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Signal" & backslashes & "0.bmp")
End Select
Dim ps As Integer
Try
powerstatus = New OpenNETCF.Windows.Forms.BatteryLife
ps = powerstatus.PowerStatus.BatteryLifePercent
Catch ex As Exception
ps = 0
End Try
Dim psimg As Bitmap
Select Case ps
Case 100
psimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Battery" & backslashes & "100.bmp")
Case 95 To 99
psimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Battery" & backslashes & "95.bmp")
Case 90 To 94
psimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Battery" & backslashes & "90.bmp")
Case 85 To 89
psimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Battery" & backslashes & "85.bmp")
Case 80 To 84
psimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Battery" & backslashes & "80.bmp")
Case 75 To 79
psimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Battery" & backslashes & "75.bmp")
Case 70 To 74
psimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Battery" & backslashes & "70.bmp")
Case 65 To 79
psimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Battery" & backslashes & "65.bmp")
Case 60 To 64
psimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Battery" & backslashes & "60.bmp")
Case 55 To 59
psimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Battery" & backslashes & "55.bmp")
Case 50 To 54
psimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Battery" & backslashes & "50.bmp")
Case 45 To 49
psimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Battery" & backslashes & "45.bmp")
Case 40 To 44
psimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Battery" & backslashes & "40.bmp")
Case 35 To 39
psimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Battery" & backslashes & "35.bmp")
Case 30 To 34
psimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Battery" & backslashes & "30.bmp")
Case 25 To 29
psimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Battery" & backslashes & "25.bmp")
Case 20 To 24
psimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Battery" & backslashes & "20.bmp")
Case 15 To 19
psimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Battery" & backslashes & "15.bmp")
Case 10 To 14
psimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Battery" & backslashes & "10.bmp")
Case 5 To 9
psimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Battery" & backslashes & "5.bmp")
Case Else
psimg = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Battery" & backslashes & "0.bmp")
End Select
If (ps <> prevps) Then
BatteryStatus.Image = psimg
End If
If (sigstrength <> prevss) Then
SignalStrength.Image = ssimg
End If
prevps = ps
prevss = sigstrength
End Sub
I've put in these case statements on the update status code, it's a bit more tidy and the else options prevent the warnings about psimg and ssimg possibly not being set.
I'm looking at drawing methods and it looks like quite a big thing to do, basically drawing the slide bar, slide button and slide ani on an offscreen bitmap and copying them all across into the location at the bottom of the screen. I might have to edit how the program detects the mouse moving the bar.
chrismrulz
11th September 2007, 02:48 PM
I've put in these case statements on the update status code, it's a bit more tidy and the else options prevent the warnings about psimg and ssimg possibly not being set.
I'm looking at drawing methods and it looks like quite a big thing to do, basically drawing the slide bar, slide button and slide ani on an offscreen bitmap and copying them all across into the location at the bottom of the screen. I might have to edit how the program detects the mouse moving the bar.
thanks for that, i knew it was messy just couldn't be bothered fixing it cos it won't really effect the program much.
although i'd already designed a method in the way the power status and registry variables were set that doesn't cause errors (after a recent update).
so i'll have to see if making a conditional for it would be worse performance or anything.. can't remember how i did it.
anyways about the alphablending..
i converted that c# .net project you linked me to into vb.net and started making it VGA and trying to add my code to it.
it's alot harder than i thought cos he has a whole different structure of how things are drawn and for the arrow.
i want to try and keep his arrow because it's fast and does the transparency,
but try and add my code in so the movement is right (would require alot of editing though).
updating any stuff with alphablending is near impossible in this as it can only be done upon the form's onPaint event.
so you'll notice the updatestatus() no longer works.
here is the source for what i've done so far.
i think it's only working on WM5+ and vga devices atm.
atleast this is a start though.
xxza
11th September 2007, 03:22 PM
I see following files attached. Which one should I use for Mogul WM6? Thanks.
Slider.zip (693.8 KB, 476 views)
Slider_VGAPATCH.zip (240.4 KB, 12 views)
Slider_Source.zip (963.9 KB, 12 views)
Slider_VGAPATCH_Source.zip (234.2 KB, 6 views)
launcher.zip (675.6 KB, 395 views)
chrismrulz
11th September 2007, 03:29 PM
I see following files attached. Which one should I use for Mogul WM6? Thanks.
Slider.zip (693.8 KB, 476 views)
Slider_VGAPATCH.zip (240.4 KB, 12 views)
Slider_Source.zip (963.9 KB, 12 views)
Slider_VGAPATCH_Source.zip (234.2 KB, 6 views)
launcher.zip (675.6 KB, 395 views)
with any device just try slider.zip and if the animation isn't the right size extract slider_vgapatch.zip over the top of it.
launcher.zip is if you want a modded version of the launcher app to work with this.
btw, where did those extra 400 views come from lol..
the other day there was only like 20 each day i released a new one.
LlamaV3
11th September 2007, 05:10 PM
thanks for that, i knew it was messy just couldn't be bothered fixing it cos it won't really effect the program much.
although i'd already designed a method in the way the power status and registry variables were set that doesn't cause errors (after a recent update).
so i'll have to see if making a conditional for it would be worse performance or anything.. can't remember how i did it.
anyways about the alphablending..
i converted that c# .net project you linked me to into vb.net and started making it VGA and trying to add my code to it.
it's alot harder than i thought cos he has a whole different structure of how things are drawn and for the arrow.
i want to try and keep his arrow because it's fast and does the transparency,
but try and add my code in so the movement is right (would require alot of editing though).
updating any stuff with alphablending is near impossible in this as it can only be done upon the form's onPaint event.
so you'll notice the updatestatus() no longer works.
here is the source for what i've done so far.
i think it's only working on WM5+ and vga devices atm.
atleast this is a start though.
that looks good, obvious things to change are:
QVGA compatible (just a case of dividing numbers by 2 I suspect.
Only slide when XY coordinate is within XY range of arrow.
Slideback
Updating (I had a brief look before I had to go into a meeting and it looked like no clock was enabled, is that not the reason why? I'll try and look later)
May not be too hard, that's some great work merging the two codebases so far.
chrismrulz
11th September 2007, 06:03 PM
that looks good, obvious things to change are:
QVGA compatible (just a case of dividing numbers by 2 I suspect.
Only slide when XY coordinate is within XY range of arrow.
Slideback
Updating (I had a brief look before I had to go into a meeting and it looked like no clock was enabled, is that not the reason why? I'll try and look later)
May not be too hard, that's some great work merging the two codebases so far.
yeah the problem is that you can't enable the clock or anything. you can only do alphablending on the form's onpaint event apparently.
and redrawing the whole form would be horrible performance so we can't go there.
btw, this is what i'm working on to get the transparency to work on the arrowbutton image on mine:
add this to new()
AddHandler Me.SliderButton.Paint, AddressOf SliderButton_Paint
and then add this:
Sub SliderButton_Paint(ByVal sender As Object, ByVal e As PaintEventArgs)
Dim sbimage As Image = New Bitmap(GetAppPath() & backslashes & "GFX" & backslashes & "Res" & backslashes & "arrow.bmp")
Dim attr As New Imaging.ImageAttributes
attr.SetColorKey(Color.FromArgb(255, 0, 255), Color.FromArgb(255, 0, 255))
Dim rDest As Rectangle = Me.SliderButton.ClientRectangle
e.Graphics.DrawImage(sbimage, rDest, 0, 0, sbimage.Width, sbimage.Height, GraphicsUnit.Pixel, attr)
sbimage.Dispose()
e.Graphics.Dispose()
End Sub
apparently the setcolorkey is supposed to make it skip drawing the pixels of that color, not filling them with a solid color.
that code above should work.. but it doesn't..
i think it's something todo with how i'm parsing the image.
edit: got it to work by making a new inherited picturebox control.
the annoying thing is though.. it doesn't make it transparent to the control behind it, it makes the entire form transparent for that area..
so i had to make it paint the image behind it on the paintbackground event.
and now i've got to find a way to repeat that process every time the arrow button moves.. which i haven't been able to..
anyways, it's atleast transparent when it's in the starting position which is better. so i've uploaded a new version with it.
chrismrulz
12th September 2007, 06:05 AM
i've found a use for that other alphablending project.
here's another app that creates the images and saves them to GFXOUT for use in my program. (edit: attachments removed. you can get it from the front page now.)
this way you can still choose use different wallpaper while it still doesn't actually need to do the alphablending in the actual app, which also means less resources.
i've made another version of the slider to use toplock.bmp instead of the smaller lock.bmp and top.bmp to make it compatible with this, but i'll fix the problems before i release it all.
the current problems are that the slideanis.bmp needs to be manually rejoined into one bitmap,
the slideanis.bmp and slide.bmp images are off by a bit,
and it can only be run on wm5+ vga devices atm.
the good thing though is it does everything else properly.
even if it's too tricky for other people atleast i'll be able to upload different wallpapers for it with ease.
edit: there werent actually any problems with the images being off by a bit, it was a simple problem in the actual slider app that i've fixed.
i also made it join the slideanis into one bitmap. everything works. you just run it and copy the GFXOUT directory it generates.
i've put this on the front page with a new slider version.
chrismrulz
12th September 2007, 10:08 PM
just did a massive update.
i've fixed almost every single problem now.
the arrow button stays fully transparent, the app runs in fullscreen, and i've made a config creator to generate the alphablended images so you can change the wallpaper if you like.
the only major problem now is that there are trails of images when you drag the arrow button image which also makes it a bit laggy.
LlamaV3
13th September 2007, 02:57 PM
wow, you've been busy.
I've written my own slider app, but an extremely simply version so that I can test buffering etc without having tonnes of your code around. I still for the life of me can't get it to work properly. everything in my code make sense but it isn't behaving as it should, I'm still gonna keep hacking away.
I wish someone who knew could pop into this thread and let me know how to do it.
Beaumont
13th September 2007, 03:12 PM
Great thanx to author! Cool program!
I just want to know, can the slider line is plain on the today screen (not on the special full window)? It will be great for our HTC touch!
LlamaV3
13th September 2007, 05:10 PM
Yes!!!!
I figured it out :D
Check out the attached exe chris (this is my bare bones test so it basically is just the code I need to buffer the graphics and is designed for my qvga orbit). But you should see that the moving bar doesn't leave a trail.
I'm leaving work now but if I get any time tonight I'll put it into your project. If you can update your code this evening to your latest then that should help me.
[edit, probably best to try this on your pocketpc, looks a bit odd on pc and seems slower. i'll look into performance, but on the pocketpc it's fine.]
temparoo
13th September 2007, 05:57 PM
Can someone clarify, why doesn't A_C's slide2unlock work on wm6 devices? I'm running wm6 on my HTC prophet and S2U works fine... I guess it's just for some devices it doesn't work?
I am using TNT Pro v4.0 ROM and Slide 2 UnLock works perfectly fine. I average on 20MB free RAM. I also have many programs installed and the Today screen is full too! :)
Mr Groch
13th September 2007, 07:29 PM
Hi!
I have 3 problems with current release:
- Square after operator name (Screen.jpg)
- Some weird slider behaviour when sliding (Screen.jpg)
- Top windows bar disapears after closing Slider app (only soft reset works, becouse top bar is not only invisible - it is real gone) (Screen2.jpg)
Thx for you work, this is the best solution for us, WM6 VGA users - I'm hoping on you ;)
LlamaV3
13th September 2007, 09:13 PM
Hi!
I have 3 problems with current release:
- Square after operator name (Screen.jpg)
- Some weird slider behaviour when sliding (Screen.jpg)
- Top windows bar disapears after closing Slider app (only soft reset works, becouse top bar is not only invisible - it is real gone) (Screen2.jpg)
Thx for you work, this is the best solution for us, WM6 VGA users - I'm hoping on you ;)
1. I've got that too, probably easy to fix.
2. I've got a fix for that (see my last post), will probably be done tonight or tomorrow.
3. I get this too, to be honest I don't understand why this app is going into full screen the way it's being done, I can think of more simple ways. Will look at code while doing the fix for number 2.
chrismrulz
13th September 2007, 10:02 PM
1. I've got that too, probably easy to fix.
2. I've got a fix for that (see my last post), will probably be done tonight or tomorrow.
3. I get this too, to be honest I don't understand why this app is going into full screen the way it's being done, I can think of more simple ways. Will look at code while doing the fix for number 2.
1. I didn't realize that, that's correct that a fix would be easy (once i work out what's causing it).
2. Can't wait to get this fixed! Hope you can get it working in my project (latest one has been uploaded). If you send me the source I could have a go implementing it in.
I've just your exe on my hx4700 and it works perfectly :)
3. I should be able to fix this too.. but that was pretty much the only way i was able to get it fullscreen (it's hard to do in cf.net).
If i can just make it go back afterwards it will be good.
It also disables the hardware buttons (except power) too which would be better if it can be taken off afterwards.
Try to get no.2 fixed first as it's alot harder to do than this.
The good thing is that i was aware of these bugs already and there aren't other bugs on all the different platforms.
also @ Mr Grotch, you might wanna try installing the iPhone font included. (copy iPhone.ttf to your windows fonts directory and soft-reset.) even though the app isn't quite fixed yet.
and out of curiosity, did you need to use the VGAPATCH version?
LlamaV3
14th September 2007, 10:20 AM
I'm giving this a go now. by the way can you keep including fsengine.vb in the source package, I keep having to dig it out from old zips to be able to compile ;)
chrismrulz
14th September 2007, 11:14 AM
I'm giving this a go now. by the way can you keep including fsengine.vb in the source package, I keep having to dig it out from old zips to be able to compile ;)
i stopped using it a while ago though. i removed the library from the executable as it would just be pointlessly using up space and ram by including it.
unless you were enabling the code i had commented out?
btw, just decompiled your exe to have a look at the code :P
that shouldn't be too hard to implement. really hope you can do it though. (i'm wanting to use the slider app for myself too)
LlamaV3
14th September 2007, 01:34 PM
Everything is in and great, unfortunately the transparency on the slider is causing me problems and I'm working around it at the minute. If it is a normal picturebox then everything is great, if it's the expanded picturebox class you're using then it doesn't leave a trail but it flickers. My solution is to provide a second buffer just for the slider, but inside the pictureboxex control. I have an annoying feeling that the background paint function in that control is going to cause me problems too.
While I was in the code I've fixed the taskbar problem. The program didn't call the showtaskbar stuff on close, so I put that call before both of the Application.exit calls and it works as it should. Also put my code in to stop the clock timer while the slider is sliding back, and restart the timer when the slider is "home" because it messes up the slide. Also fixed a new bug I found where if you moved the slider and went to touch it again it would keep sliding, now you can catch it again, move it, then it will resume sliding when you release.
I should have the finished product in about 2-3 hours, if all goes well.
LlamaV3
14th September 2007, 02:03 PM
fixed the odd character at the end of the operator name label.
If (opname <> "" And opname <> "0") Then
carriername = Replace(opname, Chr(0), "")
End If
LlamaV3
14th September 2007, 04:27 PM
Here's what I have so far, just leaving work and have a busy evening ahead.
I might work on it more tomorrow, but let me know how it runs on your device, I've been running it on a qvga orbit, and I have no idea what the performance will be on a vga device. The buffering might be too severe for our needs, and buffering a 640x480 screen might be overkill. I want to change the way the whole form refreshes and try to manage it all in one function, hopefully just buffering the slider portion of the screen.
Let me know what you think, I've tried to comment as much as possible on it, and I seem to have fixed the bugs mentioned so far. Might have created some more too. I've put a little seconds counter (just a flashing dot) next to the time because I like it on my device ;) and it let me know the time was still working and hadn't frozen.
chrismrulz
14th September 2007, 06:10 PM
fixed the odd character at the end of the operator name label.
If (opname <> "" And opname <> "0") Then
carriername = Replace(opname, Chr(0), "")
End If
oh thanks, didn't know what the char number was and i dont have a smartphone to test it. you might need to change it to a trimend() though, just incase there should be any situation the carrier name might need to have that character in it (not including the bug).
it's looking good so far.
a few things though,
the refreshing of that icon next to the time makes it have to update the image every time the timer ticks, which flashes the image and makes it worse performance.
that needs to go back to how i had it which was updating the images only when it was needed (usually once every minute).
the FSEngine class shouldn't be included.
nothing references it anymore, as i used a whole new api for making it fullscreen.
having it included is just a waste of space and performance.
the me.refresh() seems like it could be wasting resources drawing everything twice. cos it gets drawn, then drawn again at me.refresh.
the good thing though is all the problems that you fixed.
haven't tested the buffer in vga mode yet, but running it on a vga device was still smooth.
i've just finished modifying it into my version with those first two fixes.
LlamaV3
14th September 2007, 06:19 PM
oh thanks, didn't know what the char number was and i dont have a smartphone to test it. you might need to change it to a trimend() though, just incase there should be any situation the carrier name might need to have that character in it (not including the bug).
it's looking good so far.
a few things though,
the refreshing of that icon next to the time makes it have to update the image every time the timer ticks, which flashes the image and makes it worse performance.
that needs to go back to how i had it which was updating the images only when it was needed (usually once every minute).
yeah, that bit was just for me, and it was last minute, don't expect you to keep it ;)
the FSEngine class shouldn't be included.
nothing references it anymore, as i used a whole new api for making it fullscreen.
having it included is just a waste of space and performance.
it was still referenced as part of the project file, I just copied the vb file across just in case you used it, after working on the project a bit I realised you weren't using it.
the code for the battery updating is good but it should be >=100 instead of >=99
and it should go down in lots of 5's.
The number ranges, excluding the 99 you mention, are identical to the if statements. case 85 to 89 for example is a unit of 5 (85, 86, 87, 88, 89).
the me.refresh() would be worse performance as it is, unless it's going to do what you were talking about with the form onpaint event.
yes, the idea is you have 1 graphic the size of the screen in memory, do all your drawing to that graphic in memory instead of the e graphicsargs, then when you're done just draw that big bitmap to the screen. I might split it to 2 bitmaps, 1 for the top which rarely changes, and 1 covering the slider area which will be smaller and update more frequently. As the code stands the fact that the toplock and midbar have their own paint functions wrecks it a little.
the good thing though is all the problems that you fixed.
haven't tested the buffer in vga mode yet, but running it on a vga device was still smooth.
great, thanks, glad I could help, or at least clarify a few bits of the code, it was a bit of a mash up because I did it between tasks in work. btw, I think the sliding code can be improved, it shouldn't let you slide if it is out of the bounds of the sliding area, it feels a little "loose" and occasionally goes over the edge of the sliderbg by a couple of pixels.
chrismrulz
14th September 2007, 07:14 PM
btw, I think the sliding code can be improved, it shouldn't let you slide if it is out of the bounds of the sliding area, it feels a little "loose" and occasionally goes over the edge of the sliderbg by a couple of pixels.
yeah been meaning to fix that up. just left it the way it was cos it worked.
btw, just updated source and executables with your fixes ;)
testing the vga version, the glitchy graphics on the arrow button have gone, but it still constantly flashes.
i don't think it did that when it was only qvga.
nevertheless this cuts sick on the new x50v i bought today :)
chrismrulz
15th September 2007, 03:25 AM
does anyone wanna try some memory usage tests against slide2unlock now that this is at a usable state?
mswalker
15th September 2007, 04:10 AM
Is there way to set Slider to automatically run when you turn the power off to the unit (like slide2unlock) so when you turn to power on, you slide the arrow to unlock the unit?
chrismrulz
15th September 2007, 04:29 AM
Is there way to set Slider to automatically run when you turn the power off to the unit (like slide2unlock) so when you turn to power on, you slide the arrow to unlock the unit?
not at the moment, but this is actually quite easy to code.
the only thing i'm tryna do is find a way to make it not eat up any resources in the background to be able to do that.
it's definitely on the list of things to do though.
Mr Groch
15th September 2007, 01:37 PM
Thx, it is now working really great (with VGA patch), but still
slide button flickers when draging or when it comes back to start...
This isn't a big problem, but problem is that even after closing
slider app, about 4 mb of RAM is gone :/ Apps like Oxios memory can
free up to 3 MB after closing slider, but still about 1MB disapears...
tigga69
15th September 2007, 02:05 PM
looks great, worked first time, simple to use...
just a tiny problem!
it locks the screen but not the buttons!
any chance you can add the button lock functions too.
thanks
chrismrulz
15th September 2007, 09:37 PM
looks great, worked first time, simple to use...
just a tiny problem!
it locks the screen but not the buttons!
any chance you can add the button lock functions too.
thanks
the latest version should lock all buttons except power.
btw what device you running it on?
tigga69
15th September 2007, 11:11 PM
trinity (orange m700)
mun rom wm6 - indigo version
thanks
ps - i should add on the trinity the date is about 2 points too small. but i should know what day it is!
chrismrulz
16th September 2007, 12:43 AM
ps - i should add on the trinity the date is about 2 points too small. but i should know what day it is!
if you turn cleartype on and install the iphone fonts it should be the same size as on the iphone. (and look a whole lot better)
LlamaV3
16th September 2007, 11:57 AM
Thx, it is now working really great (with VGA patch), but still
slide button flickers when draging or when it comes back to start...
This isn't a big problem, but problem is that even after closing
slider app, about 4 mb of RAM is gone :/ Apps like Oxios memory can
free up to 3 MB after closing slider, but still about 1MB disapears...
yup, I noticed last night that something isn't being disposed properly on exit. it might be worth writing a function to manually dispose all objects/bitmaps etc on the form before calling exit. it looks like it's having a problem due to the same thing that caused the toolbar to stay hidden, anything after that exit call isn't being run, so much for .net being able to manage itself.
Avatar28
17th September 2007, 05:14 AM
I just installed this little app this weekend after getting tired of Slide2Unlock's memory usage.
I may have found a bit of a problem. I activated the slider on my phone last night (after assigning it to a HW button for activation). I then didn't use the phone for a few hours. When I turned it back on I found that Slider was no longer running. My phone was also down to about 4.5 MB of RAM. Using both Oxios apps I was finally able to get it up to about 7 or 8 MB but the rest refused to come back, requiring a soft reset to resolve it.
Anyways, I can't be sure if the issue is my ROM or Slider, as I also just installed the ROM on Friday night, but I hadn't noticed the memory leak before that really so I wanted to bring it up.
evermick
17th September 2007, 05:41 AM
nice work. Hope it will get full feature same as slider 2 unlock (indicator of miss calls / messages / SMS / Wifi / bluetooth etc and also Caller ID).
Please also add a feature to start this little slider automatically when idle or suspended
chrismrulz
17th September 2007, 08:28 AM
the two issues mentioned above are known and are near top priority.
i desperately need some help coding all this though as it's alot of work. (i.e. llamav3 :P)
it does what the iphone unlocking app does at the moment though, so it's come a long way already from 11 days. (only about 1 hour a day spent coding)
LlamaV3
17th September 2007, 12:25 PM
I've had a look at the newest code, the clock and slideani are still anabled while the slider is moving, this still causes huge problems for my sliding smoothness (200mhz processor) so I have put my slideani.stopanimation and clock.enabled=false stuff back in while it is moving.
I've also created a big alldispose function in, which I hope catches most memory leaks, usually images that are locked into the paint event. I do a check for appclosing = false before the onpaint events, if the app is closing then it doesn't run the paint events, so the files arent in use. it runs this function before exiting the program to clean up some controls:
Private Sub alldispose()
appclosing = True
SlideAni.StopAnimation()
SlideAni.Dispose()
SliderBG.Dispose()
Background.Dispose()
BatteryStatus.Dispose()
BottomBar.Dispose()
MidBar.Dispose()
SignalStrength.Dispose()
SliderButton.Dispose()
TopLock.Dispose()
Clock.Dispose()
Me.Dispose()
GC.Collect()
GC.WaitForPendingFinalizers()
End Sub
the buffering is still being buggered up by the transparency routine, I'm rewriting the graphics from ground up using opennetcf similar to this, but that could take me ages:
http://blog.opennetcf.org/afeinman/PermaLink,guid,8fb585db-bd44-42fe-afa9-07b116c6d2ba.aspx
chrismrulz
17th September 2007, 01:28 PM
I've had a look at the newest code, the clock and slideani are still anabled while the slider is moving, this still causes huge problems for my sliding smoothness (200mhz processor) so I have put my slideani.stopanimation and clock.enabled=false stuff back in while it is moving.
I've also created a big alldispose function in, which I hope catches most memory leaks, usually images that are locked into the paint event. I do a check for appclosing = false before the onpaint events, if the app is closing then it doesn't run the paint events, so the files arent in use. it runs this function before exiting the program to clean up some controls:
Private Sub alldispose()
appclosing = True
SlideAni.StopAnimation()
SlideAni.Dispose()
SliderBG.Dispose()
Background.Dispose()
BatteryStatus.Dispose()
BottomBar.Dispose()
MidBar.Dispose()
SignalStrength.Dispose()
SliderButton.Dispose()
TopLock.Dispose()
Clock.Dispose()
Me.Dispose()
GC.Collect()
GC.WaitForPendingFinalizers()
End Sub
the buffering is still being buggered up by the transparency routine, I'm rewriting the graphics from ground up using opennetcf similar to this, but that could take me ages:
http://blog.opennetcf.org/afeinman/PermaLink,guid,8fb585db-bd44-42fe-afa9-07b116c6d2ba.aspx
about the slider still moving, it might be slow for some devices (testing it on my 3 ppcs didn't make a difference if it was on or off, except that the slider animation got much faster), but in the end it should still be moving so it's still like the iphone.
we just need to figure out how to stop the timers interacting with each other (you'd think .net already does this).
about the dispose functions, was thinking the same thing..
just a few questions about it though,
1. do we know we have everything disposed? (variables could be disposed too i think)
2. do we know if the code you have there doesn't cause any problems? (me.dispose being the form, could create problems when doing the other exit routines, etc.)
3. do we know if the code you have there improves memory issue?
no. 2 and 3 would need to be checked before changing it to the current code. (by the way, the owner of freewareppc found this and listed it so it's getting quite alot of downloaders now, so we better not make mistakes)
LlamaV3
17th September 2007, 01:42 PM
about the slider still moving, it might be slow for some devices (testing it on my 3 ppcs didn't make a difference if it was on or off, except that the slider animation got much faster), but in the end it should still be moving so it's still like the iphone.
we just need to figure out how to stop the timers interacting with each other (you'd think .net already does this).
about the dispose functions, was thinking the same thing..
just a few questions about it though,
1. do we know we have everything disposed? (variables could be disposed too i think)
2. do we know if the code you have there doesn't cause any problems? (me.dispose being the form, could create problems when doing the other exit routines, etc.)
3. do we know if the code you have there improves memory issue?
no. 2 and 3 would need to be checked before changing it to the current code. (by the way, the owner of freewareppc found this and listed it so it's getting quite alot of downloaders now, so we better not make mistakes)
I had this code running on my p3300 and it didn't cause any errors. as long as you do the check for the appclosing variable when painting, otherwise it tries to paint images you've just disposed.
give it a go and you will see. a good way to look at it is that it isn't going to make the memory problem worse.
I think you misunderstand the timer issue. my problem is that the slider moves, that is fine, but the smooth sliding motion stutters whenever the timer ticks, when the timer is disabled while sliding then everything is smooth. what spec are your pdas because mine is only 200mhz o\c to 264mhz. I'll try and record a video of my sliding motion for you later but it is a lot better if you set
clock.enabled = false
slideani.stopanimation()
slidebutton.bringtofront()
on slidebutton mousedown
and then clock.enabled=true
slideani.startanimation()
slidebutton.bringtofront()
when the slider is back at the default location on the left.
chrismrulz
18th September 2007, 03:22 AM
I think you misunderstand the timer issue. my problem is that the slider moves, that is fine, but the smooth sliding motion stutters whenever the timer ticks, when the timer is disabled while sliding then everything is smooth. what spec are your pdas because mine is only 200mhz o\c to 264mhz. I'll try and record a video of my sliding motion for you later but it is a lot better if you set
clock.enabled = false
slideani.stopanimation()
slidebutton.bringtofront()
on slidebutton mousedown
and then clock.enabled=true
slideani.startanimation()
slidebutton.bringtofront()
when the slider is back at the default location on the left.
yeah i can notice the stutter on some slow pdas.
there's issues with all the timers including the animation one.
some speed up when others start and some speed down. it varies on the speed of the processor.
but simply stopping the animation and clock on the slideback doesn't really solve the issue, and it means the time will be out of sync while you're dragging the slider and the animation wont keep going like it does on the iphone.
about the memory fix, that's good that it doesn't cause errors now we just need to know if it makes it use less memory.
mainly because if it doesn't fix the memory bug, it only means it'll take longer to shut down with no cause.
all the stuff i've added so far i've tested to make sure it actually makes it better.
i.e. only fix something if it's broke and what you're trying to do will fix it, or else we'll have to find out later from the people reporting bugs.
LlamaV3
18th September 2007, 06:59 AM
yeah i can notice the stutter on some slow pdas.
there's issues with all the timers including the animation one.
some speed up when others start and some speed down. it varies on the speed of the processor.
but simply stopping the animation and clock on the slideback doesn't really solve the issue, and it means the time will be out of sync while you're dragging the slider and the animation wont keep going like it does on the iphone.
about the memory fix, that's good that it doesn't cause errors now we just need to know if it makes it use less memory.
mainly because if it doesn't fix the memory bug, it only means it'll take longer to shut down with no cause.
all the stuff i've added so far i've tested to make sure it actually makes it better.
i.e. only fix something if it's broke and what you're trying to do will fix it, or else we'll have to find out later from the people reporting bugs.
it doesnt alter the fact that the iphone uses a 620mhz processor with its own built in animation routines. it makes it difficult to replicate on a pda using gdi.I'll look into a non timer method for you, might be difficult but I've used other techniques in opengl windows apps to do this (reading the system millisecond counter during the paint function).
i experienced this memory bug, close down this slider and bang 4mb of memory have disappeared. The only thing in the program I could think of was that it wasn't releasing the bitmaps that were loaded, this code releases those bitmaps before closing. This was because the paint routine uses the bitmaps all the time, and it runs even while closing. try the code yourself and see what you think, I believe I've at least 90% fixed something that was broke.
chrismrulz
18th September 2007, 07:47 AM
it doesnt alter the fact that the iphone uses a 620mhz processor with its own built in animation routines. it makes it difficult to replicate on a pda using gdi.I'll look into a non timer method for you, might be difficult but I've used other techniques in opengl windows apps to do this (reading the system millisecond counter during the paint function).
yeah but A_C can do it with slide2unlock with gapi, which isn't all that superior to gdi.
and 620mhz isn't really needed to move a bitmap and show a little animation.
if your 200mhz processor can render webpages with animated gif's and javascript (or heck they even run snes emulators), surely it could do this.
about reading the system millisecond, just remember that it will reset after 999 so there needs to be a function keeping track of the last number and doing some conditionals.
and again, we need to check if it improves on what is on there now. especially as it'd be adding alot more code so if it doesn't fix it it would only be worse.
i experienced this memory bug, close down this slider and bang 4mb of memory have disappeared. The only thing in the program I could think of was that it wasn't releasing the bitmaps that were loaded, this code releases those bitmaps before closing. This was because the paint routine uses the bitmaps all the time, and it runs even while closing. try the code yourself and see what you think, I believe I've at least 90% fixed something that was broke.
yeah i understand that should work to fix it.
just want to be sure. like have you actually tested it and seen the results?
i would test it out myself but my sd cards and rom are almost full and don't know where to find the free memory usage testing apps.
edit: i just tried checking free system memory before using it and it was 34.64. after using it, it only went down to 34.54. checking memory usage with memmaid (found i had it installed) showed no drop in memory at all. (??)
i think .net must be doing it's job properly in WM6 or something.. but either way sorry but it looks like i have no way of testing if it will fix anything so it's up to you guys.
edit2: just tested it the same way using the 2003SE device emulator and it went from 7.94 to 7.93..
chrismrulz
18th September 2007, 09:33 AM
ok i've just updated it with llamav3's disposeall function and uploaded it.
testing it the same way as before (memory info dialog in settings, and memmaid),
it showed to actually increase the memory usage after exiting on mine by 100kb (don't know how this is even possible, probably due to something else).
but if i simply release a different version here on the 13th page, there might not be as many people downloading it and it would take a long time to be tested.
it shouldn't be that bad if it doesn't work anyway so we might aswell give it a go.
if the current version turns out worse i can change it back (just could be a little problem as i have so many versions of the slider source on my harddrive that it's sometimes hard to find which one does which).
LlamaV3
18th September 2007, 09:38 AM
have you done this test with the previous version? I would be very interested, also what is your code for recording available memory?
chrismrulz
18th September 2007, 09:52 AM
have you done this test with the previous version? I would be very interested, also what is your code for recording available memory?
yeah i mentioned it in the second-last post.
on my axim x50v running wm6 (i can test on my hx4700 but it is also wm6), i did a soft reset and opened up file explorer and navigated to my iphone dir.
then i opened up settings > memory and looked at the free memory / used memory and wrote them down.
i then opened up my app with file explorer and closed it.
then went back to the memory dialog and compared it to what i wrote down from before.
it showed 100kb loss of memory using my old one,
then i did the exact same procedure with yours and it came out as 200kb loss of memory. (i'm thinking this could be todo with other apps though as i don't see how your code could add much to memory, maybe a trickle of cpu time though)
i used the latest version of memmaid aswell and it showed no changes in memory with either (after pressing refresh).
also tried using wm2003se with device emulator which showed 10kb loss of memory (with mine).
as all of these cases were different to what others have reported with 4mb drops in memory, i've uploaded it anyway to see what happens.
it seems the .net framework disposes memory differently across platforms or something..
but anyway, it worked without causing any problems so it's worth a shot.
just gotta get this new version decided on before i go on to do lots more coding cos it could take a while changing all the code later.
on another note, using memmaid to check it's memory usage while it was running said it was 1.27mb :O
poan
18th September 2007, 10:14 AM
Hello
An exelent software.
Running perfect on a S100 (magacian)
But. explain for a newby: How to install. I have to tap the .exe file from file manager.
How to create a shortcut or an automatic start.
P-O
chrismrulz
18th September 2007, 10:24 AM
How to create a shortcut or an automatic start.
using file explorer find the Slider.exe and hold down on it until a menu comes up with 'Copy'.
Click copy and go to where you want the shortcut to go and instead of clicking paste, click paste shortcut.
if you want it to go on the start menu, go to \windows\start menu\ and paste the shortcut there.
for coming on when you first startup the device (i think that's what you were saying), paste it at \windows\startup\.
if you meant coming up when you wake the device, i have to program that though. which needs this memory issue resolved first before i can go on to that.
LlamaV3
18th September 2007, 11:09 AM
using file explorer find the Slider.exe and hold down on it until a menu comes up with 'Copy'.
Click copy and go to where you want the shortcut to go and instead of clicking paste, click paste shortcut.
if you want it to go on the start menu, go to \windows\start menu\ and paste the shortcut there.
for coming on when you first startup the device (i think that's what you were saying), paste it at \windows\startup\.
if you meant coming up when you wake the device, i have to program that though. which needs this memory issue resolved first before i can go on to that.
when this is done we are just going to have to close the app instead of exit it, then when it is run again get the app to just show instead of reopen. will mean a quick start but the app will constantly run in the background at the 1mb or so that you mentioned. still better than 5mb that s2u uses.
chrismrulz
18th September 2007, 11:16 AM
when this is done we are just going to have to close the app instead of exit it, then when it is run again get the app to just show instead of reopen. will mean a quick start but the app will constantly run in the background at the 1mb or so that you mentioned. still better than 5mb that s2u uses.
yeah was thinking about that, and would be the easiest todo (simple me.hide() might even do the trick),
but another idea would be to make another simple app coded in native c++ that opens the slider app on the onwake event and waits for the slider to exit etc.
meaning probably only about 10kb used at most while it's using the slider app.
although it would mean 10kb ontop of the slider app's memory when it is being used but it's a much better trade-off.
i for one probably wouldn't like the idea of my 1mb app running in the background, possibly even trying to do those animations and stuff, when i wanna get good performance to run fullscreen games etc..
but a simple 10kb app monitoring for the device to wake from standby could be quite practical.
think this is what A_C has done with the ilock.exe but not too sure as it won't even run on my pocketpc to try it out.
of course this is gonna be harder to code though, but it should be worth it.
if you think there can be a sure way to make it all-in-one and put the current slider app into a suspended state and dispose of everything in memory (would def. have to properly test ram usage this time),
that could be an even better idea. but it'd definitely have to make sure the suspending routine works.
LlamaV3
18th September 2007, 11:30 AM
yeah was thinking about that, and would be the easiest todo (simple me.hide() might even do the trick),
but another idea would be to make another simple app coded in native c++ that opens the slider app on the onwake event and waits for the slider to exit etc.
meaning probably only about 10kb used at most while it's using the slider app.
although it would mean 10kb extra when it is being used but it's a much better trade-off.
i for one probably wouldn't like my 1mb app running in the background, possibly even trying to do those animations and stuff, when i wanna get good performance to run fullscreen games etc..
but a simple 10kb app monitoring for the device to wake from standby could be quite practical.
think this is what A_C has done with the ilock.exe but not too sure as it won't even run on my pocketpc to try it out.
of course this is gonna be harder to code though, but it should be worth it.
I've actually used this slider with a_cs ilock.exe, just renamed the slider.exe and it worked. However I would like the slider to always run because it takes too long to load when you want the screen to lock. I might press the standby button on the side of the phone, and when I press it again everything is unlocked because I'm waiting for slider.exe to start. the best solution would be an option, the same way a_c has done it. you can choose if the program uses me.hide or exit
poan
18th September 2007, 11:37 AM
Thanks
Done
Now it starts Ok after a soft reset.
Now I can start it from main screen
P-O
chrismrulz
18th September 2007, 01:07 PM
I've actually used this slider with a_cs ilock.exe, just renamed the slider.exe and it worked. However I would like the slider to always run because it takes too long to load when you want the screen to lock. I might press the standby button on the side of the phone, and when I press it again everything is unlocked because I'm waiting for slider.exe to start. the best solution would be an option, the same way a_c has done it. you can choose if the program uses me.hide or exit
yep an option would be good. or if ilock.exe works like you said then that should do for a while. (or we could even ask A_C if he can add a black screen while it loads which locks everything aswell)
we just gotta have priorities though.
memory usage and the graphics buffering problems are probably more important (and harder).
adding the config and all those little extras will be easy enough to do once we get to that stage (though a bit time consuming).
LlamaV3
18th September 2007, 01:12 PM
yep an option would be good. or if ilock.exe works like you said then that should do for a while. (or we could even ask A_C if he can add a black screen while it loads which locks everything aswell)
we just gotta have priorities though.
memory usage and the graphics buffering problems are probably more important (and harder).
adding the config and all those little extras will be easy enough to do once we get to that stage (though a bit time consuming).
buffering works brilliantly on the version I'm using on my phone, but that's with transparency switched off, I'm just trying to work around that at the minute and it will be done.
chrismrulz
18th September 2007, 11:34 PM
buffering works brilliantly on the version I'm using on my phone, but that's with transparency switched off, I'm just trying to work around that at the minute and it will be done.
buffering worked perfectly for me with transparency on, but only on qvga screens.
so does it not work as well on yours with the transparency on?
RAMBO29
19th September 2007, 03:06 AM
I use it and works well.Nice app:D
LlamaV3
19th September 2007, 08:18 AM
buffering worked perfectly for me with transparency on, but only on qvga screens.
so does it not work as well on yours with the transparency on?
not as well in the version that's on here compared to an older one I worked on with transparency.
anyway I'm gonna try something completely different today, if I've got time (seems like I'm in meetings most of the day, fun).
chrismrulz
19th September 2007, 08:32 AM
not as well in the version that's on here compared to an older one I worked on with transparency.
oh, well it looks like we're dealing with two problems then.
cos for me the current one is fine in qvga mode (except for when the timers kick in sometimes).
anyway I'm gonna try something completely different today, if I've got time (seems like I'm in meetings most of the day, fun).
looking forward to it.
don't rush yourself though. i've only been able to spend about a couple hours a day for about a week a half and we've already got this far.
RiNo808
19th September 2007, 10:07 AM
will this work for a treo 750???
badjao
19th September 2007, 10:24 AM
Is this software work for imate jasjar?
chrismrulz
19th September 2007, 12:18 PM
will this work for a treo 750???
i've heard it doesn't strech to the right screen size for it because it's square screen.
will be working on doing that later but for now i think you can run A_C's slide2unlock.
@badjoa, not sure. if it's qvga or vga it should work.
mrchris
19th September 2007, 02:48 PM
Doesnt work on landscape Athena. The slide bar drops off the bottom of the screen (and the far right side is just a repeating texture from the background).
I think Athena is VGA landscape if that helps fix it?
-v1.0 Release
chrismrulz
20th September 2007, 12:46 AM
Doesnt work on landscape Athena. The slide bar drops off the bottom of the screen (and the far right side is just a repeating texture from the background).
I think Athena is VGA landscape if that helps fix it?
-v1.0 Release
if you tried with the vga patch, try without it, and vice versa.
landscape mode probably wouldn't work at all though.
mamema
21st September 2007, 08:56 AM
yep an option would be good. or if ilock.exe works like you said then that should do for a while. (or we could even ask A_C if he can add a black screen while it loads which locks everything aswell)
we just gotta have priorities though.
memory usage and the graphics buffering problems are probably more important (and harder).
adding the config and all those little extras will be easy enough to do once we get to that stage (though a bit time consuming).
ilock with slide works 90% .......
I don't know why, but if i use ilock the buttons don't get locked immediately. I can press any button to switch on the device. If i wait (don't tested the exact time yet) eg 30-60 sec only the power button switch works.
regards
PS: using O2 xda flame
mamema
Reichi
21st September 2007, 10:32 AM
Hi,
i have converted all bmp files to png and changed everything that has to be changed in the sources.
This stripped down the total size to less then 600KB.
I could not implement the vga patch as i didn't know what has been changed there (and i was too lazy to reverse it...) but theres an "slideanis_vga.png" in GFX/Res which can be used for the vga version.
If you can send me or post the source of the VGA version or even better, make a diff of the changes, i can do an implementation working for both vga and qvga devices (you can easily determine the screen width to do that).
Source + Binary Release attached.
LlamaV3
21st September 2007, 11:13 AM
I wonder if anyone can give my application a go.
I've rewritten it entirely from the ground up. This test release is not meant to be functional, in fact I would call it a proof of concept, and not even an alpha.
It is just to test the lock/sliding action, the frame rate, quality of the graphics (flickering) and memory usage/leaks. Also it is QVGA only, and doesn't contain all the fancy bitmaps.
Features are:
Higher quality graphic drawing methods
Transparency (on the slider arrow)
Can easily be resized (when I bother with VGA)
Can anyone who tries it please let me know -
Model of Device:
OS:
Frame Rate:
Does the slider flicker:
And Issues with Memory:
Reichi
21st September 2007, 12:51 PM
@LlamaV3: slides like charm :) FPS on my Touch is alway >100
RAMBO29
21st September 2007, 12:58 PM
Downloaded and tested.A bit faster than previous in lockin.Frame rate above 150 most of time.
Model:htc p3300
os:Meschle rom(WM6)
Slider is smooth and better.Some display things like previous would make it perfect.I dnt know of memory issues but seems ok.
I wonder if anyone can give my application a go.
I've rewritten it entirely from the ground up. This test release is not meant to be functional, in fact I would call it a proof of concept, and not even an alpha.
It is just to test the lock/sliding action, the frame rate, quality of the graphics (flickering) and memory usage/leaks. Also it is QVGA only, and doesn't contain all the fancy bitmaps.
Features are:
Higher quality graphic drawing methods
Transparency (on the slider arrow)
Can easily be resized (when I bother with VGA)
Can anyone who tries it please let me know -
Model of Device:
OS:
Frame Rate:
Does the slider flicker:
And Issues with Memory:
Carnivor
21st September 2007, 12:59 PM
Model of Device: Toshiba G900
OS: WM6
Frame Rate: 44FPS
Does the slider flicker:No flicker, slowly glides back to resting place. 40FPS whilst gliding
And Issues with Memory: None
Background appears to be slightly streched to accomodate WVGA
iggy
21st September 2007, 02:04 PM
Model of Device:Apache 6700
OS: WM6
Frame Rate: 125-130
Does the slider flicker: no
And Issues with Memory: no
Does not lock hardware buttons including PhoneKey (green) not good at all since this is my major issue (making calls when I don't want to, can be close with OK button but not PhoneOff key.
Edit: Neeto to be able to set to turn on a device wake.
chrismrulz
21st September 2007, 02:31 PM
Hi,
i have converted all bmp files to png and changed everything that has to be changed in the sources.
This stripped down the total size to less then 600KB.
I could not implement the vga patch as i didn't know what has been changed there (and i was too lazy to reverse it...) but theres an "slideanis_vga.png" in GFX/Res which can be used for the vga version.
If you can send me or post the source of the VGA version or even better, make a diff of the changes, i can do an implementation working for both vga and qvga devices (you can easily determine the screen width to do that).
Source + Binary Release attached.
cheers, great to see people doing things with the source.
is png lossless though?
i started off using png's but then didn't want to risk losing any quality so i use them as bitmaps like slide2unlock.
if you don't want to change the source, you can just save them in the png format but save them with the extension as .bmp. that should work.
btw, with the vga patch you can find the source on the front page.
in both the source and binaries, only the changed files have been added (the binaries are a patch you apply to a qvga installation).
i lose track of what needs to be changed in the vga versions so i use UltraCompare (google it) on the changed files i upload in the vga source package against the same files in the qvga source.
@llamav3 - looking great so far only it's definitely no good for vga yet.
tested it on 3 vga devices, and desktop windows, and vga with device emulator,
and they all ran reeeealy slow. it took about 30-40 seconds for it to slide up. same for the slideback action.
it showed 3 fps when it came back to the start and stopped. (until then it just said FPS FPS)
the good part though was there were no glitches on the slide arrow button and it didn't glitch the transparency when it went behind the start point.
are you going to upload the source for it?
would be good to see how you used asprite.net to draw everything.
Reichi
21st September 2007, 02:42 PM
@Iggy:
Man, he said it is a "Proof of Concept" and it's all just about the animation, sorry guys, but ist it SOOOO hard to at least READ what people tell you?
@chrismrulz:
PNG ist not lossless but it's way better than using jpg or bitmaps (instead of artifacting things they can loose some sharpness).
You can try my Version, i couldn't see anything looking "bad".
I think using ASprite would make you Slider the perfect Choice :).
Oh and as said: You can easily determine the Screen size by using
Screen.PrimaryScreen.Bounds.Width
And then decide which image you want to use :).
chrismrulz
21st September 2007, 02:50 PM
Man, he said it is a "Proof of Concept" and it's all just about the animation, sorry guys, but ist it SOOOO hard to at least READ what people tell you?
lol thanks i got that.
he said it was supposed to be testing the fps (speed) and flickering.
and he asked if people can test it and tell him about the things that i said.
you need to tell the developers about what works and what doesn't so they can do what needs to be done ;)
edit: sorry you added in the quotes and stuff in later.
yeah true iggy it's a test release so none of those things matter. but reichi, some people don't know what 'proof of concept' etc. means so go easy on them.
and about the Screen.PrimaryScreen.Bounds.Width,
i started off using that in the code if you looked at the source near the start,
but it made it incompatible with some devices.
using that now mightn't work because the vga patch isn't always needed.
sometimes the .net autoscaling does it's job, but sometimes the controls that were manually added in don't scale on some devices, so you need to manually set the size of the pixels.
if i do a Screen.PrimaryScreen.Bounds.Width and if it says it's 480 and i automatically apply what the vga patch does, it won't work on some vga devices that worked fine before applying the vga patch.
e.g. one vga device like the device emulator might show everything at proper resolution without the vga patch, while another one without the vga patch might show it with the arrow button too big and the animation too small. and needs the vga patch to set them properly.
about the png's: i need to find out if they are lossless or not though because while they may not look "bad" to start with,
a lossy image is slightly less quality than a bitmap which is perfect on every pixel.
if it's lossy it will also get worse and worse every time you edit the image which will end up "bad" instead of just "worse than".
Reichi
21st September 2007, 02:51 PM
@chrism: just changed my posting as yours haven't been there when i wrote mine... (and i didn't want it to look like an response to yours!)
LlamaV3
21st September 2007, 03:30 PM
thanks for the comments guys.
it's obvious at the moment that there's a massive difference in frame rate between qvga and vga, I expected a significant difference but not 100fps for qvga down to 3fps for vga, that's mental.
I'll have a look at it. the code is really simple at the moment because as i said, it's all about the animation and the memory for me right now.
yes iggy, it doesn't lock the keys, but chrismulz code does lock them, please take a look at that in the first post.
Chris, shall I start a new thread for testing my code base to not confuse people? I want to get this animation into your code when it's ready (which is why I'm not bothering with the time/date/battery/signal things at the moment.
on a side note I may have just lost all my source code because the partition table on my laptop buggered up, I think I can rescue it though.
chrismrulz
21st September 2007, 03:49 PM
thanks for the comments guys.
it's obvious at the moment that there's a massive difference in frame rate between qvga and vga, I expected a significant difference but not 100fps for qvga down to 3fps for vga, that's mental.
I'll have a look at it. the code is really simple at the moment because as i said, it's all about the animation and the memory for me right now.
yes iggy, it doesn't lock the keys, but chrismulz code does lock them, please take a look at that in the first post.
Chris, shall I start a new thread for testing my code base to not confuse people? I want to get this animation into your code when it's ready (which is why I'm not bothering with the time/date/battery/signal things at the moment.
on a side note I may have just lost all my source code because the partition table on my laptop buggered up, I think I can rescue it though.
yep definitely saying 3fps for me :(
infact it didn't even look like 3fps. it moved about 1 (maybe 2) pixels every second.
what i don't get is how that G900 showed 40fps.
the g900 has an 800x400 screen so it should be even worse.
looks like it's todo with the size of the vertical pixels being past a certain amount or something, and the width doesn't matter. (well actually it's the width that matters when you are talking about using it in portrait mode though)
either way considering that was your first one there's plenty of time to have that optimized for vga.
the source is recoverable as you did it in .net.
infact i just decompiled it to check it out before.
there shouldn't be a need for a new thread unless you're going to make a different app instead of porting this code into a new one (looking at your source it seems there is some very similar source to mine already in there).
i don't even care if you've used the knowledge from my source or even the code itself to start a new one or anything.
in the end i'm only after a solid iphone-like slider app that's compatible with my different devices,
and then make it work for other people's devices that have the same problems.
so if you wanna make another one that's fine but i'd really like it if we can just port this one into better graphics and then make those extras that you wanted later on (if that's why you want a separate one), as optional functions you can turn on and off.
what would be good in the end is to have a function you can turn on to make it exactly like the iphone.
and then if you want all the stuff slide2unlock does (and maybe more) you can turn the 'pure iphone' function off.
Carnivor
21st September 2007, 05:56 PM
what i don't get is how that G900 showed 40fps.
the g900 has an 800x400 screen so it should be even worse.
its 800x480 actually :P
i just done it again to be sure and got the same results! it apparently does have a goforce 5500 in it tho, badly implemented mind.
thinking about the problem with the vga detecting, could you just cheat and when installing ask what the screensize is? it's lousy i know but it'd solve the problem, hehe
attached a pic for proof, this is on battery, no overclocking
Novembre5
21st September 2007, 06:07 PM
Your iSlip shows on my device at 60fps. I have a (Qtek 9090) Blue Angel with WM6.
I was just wondering if you will be adding slide 2 answer to this version, or if you have tried it and have it working?
chrismrulz
21st September 2007, 06:56 PM
its 800x480 actually :P
i just done it again to be sure and got the same results! it apparently does have a goforce 5500 in it tho, badly implemented mind.
thinking about the problem with the vga detecting, could you just cheat and when installing ask what the screensize is? it's lousy i know but it'd solve the problem, hehe
attached a pic for proof, this is on battery, no overclocking
oh, looks like the gf5500 is doing something then.
i've heard they are supposed to do alot more accelerating than the 2700g's but had no idea that would mean gdi stuff.
and nah it's not about detecting the screen size that's the problem. we can do that. it's detecting whether the .net autoscaling will decide to work or not on some modified controls that's the problem.
Reichi
21st September 2007, 08:58 PM
PNG is not the format you want to use for the original Images!
You always need to have and manipulate the original Images and then convert them to whatever format you need.
For me Bitmaps are definitley a nogo for a release as i REALLY have a lack of space on my device!
chrismrulz
22nd September 2007, 06:25 AM
just found out png is always lossless so that'll be fine.
if you can download the config.zip and convert all the bitmaps in the GFX folder to .png (don't use the bitmaps from the one you made or anywhere else cos they're different),
i'll upload new versions that use png for all images ;)
Reichi
22nd September 2007, 11:44 AM
Here we go
BTW: i converted the Background to png, too but it's still way to big as png ;).
I think in releases it should just be jpg as it was before :).
chrismrulz
22nd September 2007, 03:58 PM
Here we go
BTW: i converted the Background to png, too but it's still way to big as png ;).
I think in releases it should just be jpg as it was before :).
thanks.
i just generated all the new images and uploaded those you did into the slider config etc..
so now they are all png images.
it's probably better if the wallpaper is a png too though.
that way it'll remain a perfect quality image like it is on the iphone. jpg is just dull and has artifacts.
and after all you can easily just edit the wallpaper and save it in jpg format but with the .png extension if you want to.
poan
25th September 2007, 08:52 AM
Hello
I,m successfully running the Slider and the Slidelauncher on two Magician (2003 SE, 2.03 TX WWE).
Have been capable to modify the config file for most buttoms.
Anyhow some remaining issues with the IPHONE buttoms:
1) Buttom Settings. I find no way to generate a short cut. My Windows\Start\Settings is empty. Haven't find how settings is started.
2) On the upper horizontal bar, between the AT&T and battery icons, there is a 00. When tapping 00 i get Error: cannot find Slider ( or one of its component....) ....
3) I would like to have a way to come back to the traditional screen, to be capable to start my other applications.
Suggestions?
Excelent software
P-O
chrismrulz
25th September 2007, 09:59 AM
Hello
I,m successfully running the Slider and the Slidelauncher on two Magician (2003 SE, 2.03 TX WWE).
Have been capable to modify the config file for most buttoms.
Anyhow some remaining issues with the IPHONE buttoms:
1) Buttom Settings. I find no way to generate a short cut. My Windows\Start\Settings is empty. Haven't find how settings is started.
2) On the upper horizontal bar, between the AT&T and battery icons, there is a 00. When tapping 00 i get Error: cannot find Slider ( or one of its component....) ....
3) I would like to have a way to come back to the traditional screen, to be capable to start my other applications.
Suggestions?
Excelent software
P-O
the launcher is not mine. i only modified it to be capable with the slider.
you need to paste the directory you have the slider app ontop of the launcher app installation.
the 00 is supposed to be a clock that when you click, launches slider.exe.
don't know why the timer doesn't work on yours in the launcher cos i didn't make it.
poan
25th September 2007, 11:23 AM
Thank you
I've allready done as you suggest.
I can live with as it is.
Someone else might come up with a solution
I will continue to test various setups as best In can.
P-O
chrismrulz
1st October 2007, 10:09 PM
hasn't been much i can do to improve this lately..
but i've started another little iphone slider project in javascript :D
almost everything works now except for the image positioning (only the stuff up the top is done properly).
it does real alpha-blending and the sliding works. so far the sliding will only work in Internet Explorer though, not FireFox.
it's only 170kb altogether so it should load pretty quickly. 140kb of it is the background image so it could be reduced even more later on.
you can download it here: jsiphone.zip (http://www.freetrafficsite.com/jsiphone.zip).
open up iphone.htm, or index.html if you want to make it go fullscreen.
you may have to click the IE security warnings to allow the scripts to run from the harddrive (on a webserver it's not a problem).
it's also hosted online here: www.freetrafficsite.com/jsiphone (http://www.freetrafficsite.com/jsiphone) (and if that doesn't work go here: www.freetrafficsite.com/jsiphone/iphone.htm (http://www.freetrafficsite.com/jsiphone/iphone.htm))
of course the battery and signal status wont be able to update etc..
and it's only proof-of-concept atm as the image positions are all screwed up (it's hard to make it work for 4:3 screens aswell as say a 16:10 widescreen. so i'm trying to make it use relative positioning rather than just scale it)
but when it's finished, it should allow anyone with a browser that has javascript to be able to use the slider.
combined with something like pocketie plus for pocket pc's, you could run it fullscreen and set it to exit the app, or do something like navigate to your homepage upon unlocking.
iaingray741
10th October 2007, 02:15 PM
Good job on the Slider it works seemlessly!
Is there anyway i can add it to the Today Home screen so i can lock my phone easily? Like the way you can have the device lock on the Home Screen.
Thanks,
Iain
killeredge
19th October 2007, 11:12 PM
can u make it so that it works on portait mode and landscape mode automatically?
lukeraskino
20th October 2007, 03:48 PM
Hi
Can you advise me how I can launch the slider on my phone by attaching it to the device lock option or otherwise
It currently seems like the only way for me to do it is to go into the specific directory and click on the slider file
This is a great app, if only i could launch it more easily. I currently havenot installed the launcher application, just the slider application
Nighthawk2050
20th October 2007, 09:09 PM
So what is the difference to this?
http://forum.xda-developers.com/showthread.php?t=335978
krammit
15th November 2007, 02:05 AM
It may already be somewhere in the forums. But, is it possible to just download the lock slider without the background. I mean like jsut add the lock slider to your current today screen.
johnnycross22
15th November 2007, 04:32 AM
you know I never thought of that Krammit, that would be a really great idea. ONTOPIC: great app, working smoothly on the titan, thanks for your work!
jomo25
15th November 2007, 05:22 AM
I agree that would be very cool indeed...
Bingoig11
15th November 2007, 01:47 PM
Nice app and work!!! :cool:
I tried to personnalize the theme on my old Hima, but I didn't succeeded to align correctly parts of image. If you have an idea on how I could align it easily, it would be great!
krammit
15th November 2007, 09:41 PM
I agree that would be very cool indeed...
Well im hoping someone makes the app. I hate the tilts lock/unlock junk. I would rather just have a simple slide to unlock tool.
Bingoig11
15th November 2007, 09:42 PM
Just noticed a little bug don't know if someone noticed it before.
When phone is on battery, if I enable slider, power gesture disable screen then switch it off. Because of the lock of all keys, I'm unable to switch on the screen and then slide to unlock. I have to soft reset it.
trublu
16th November 2007, 03:39 AM
It may already be somewhere in the forums. But, is it possible to just download the lock slider without the background. I mean like jsut add the lock slider to your current today screen.
been wondering about this. i actually even considered replicating my today screen. i think that would be way cooler than uses a wallpaper
krammit
16th November 2007, 03:21 PM
been wondering about this. i actually even considered replicating my today screen. i think that would be way cooler than uses a wallpaper
Yes, i agree. I downloaded the slide-to-unlock program and it sucked. It was buggy. When i recieved a text or email, the whole screen would go black, when i recieved a call, the caller id didnt work. Also it would just shut the screen off randomly. I deleted it as it was more a nuisance than help.
krammit
19th November 2007, 04:13 AM
Yes, i agree. I downloaded the slide-to-unlock program and it sucked. It was buggy. When i recieved a text or email, the whole screen would go black, when i recieved a call, the caller id didnt work. Also it would just shut the screen off randomly. I deleted it as it was more a nuisance than help.
This thread still alive?
baldeagle
19th November 2007, 08:27 AM
This is the only one that works on my device.
One question, what do I need to do to make it active when I power on my device? (i don't want to have to manually turn it on everytime I turn my device on)
Thanks
Bingoig11
19th November 2007, 10:28 AM
Just noticed a little bug don't know if someone noticed it before.
When phone is on battery, if I enable slider, power gesture disable screen then switch it off. Because of the lock of all keys, I'm unable to switch on the screen and then slide to unlock. I have to soft reset it.
Anyone to help me? :D
superwhite07tc
7th March 2008, 09:26 AM
Call me a noob but I can not figure out how to get this to work. I do not care to have the iPhone, I would just like the slider. Even when I launch the iPhone look, the it says The file 'slide' cannot be opened. Either it is not signed with a trusted certificate, or one of its componets cannot be found. ANY IDEAS???
romualdrichard
7th March 2008, 10:31 AM
Try S2U2 from this forum :)
blownapart
10th January 2009, 01:19 AM
i downloaded the the file and loaded it on my phone and tried to run the launcher.exe and it says unable to open configuration file. how do i get it to work. I have a HTC touch diamond
playaandsol
22nd June 2009, 08:51 AM
Hit there !!
Is it possible to make this program runs auto when i turn my device off?
Thanx
Nice program
playaandsol
22nd June 2009, 08:52 AM
I don't need S2U2 with all its features, just a lock application, light and efficient ^^
jeremy89632
23rd June 2009, 03:04 AM
Great software.
Keep it up.
Armin1991
25th December 2009, 07:28 PM
Hey, i put the unzipped slider.zip on my phone.
i placed the font in the font directory.
then i started the application. and it works, great!
but as soon as i once unlocked the phone the slider wont turn on by itself. its just like a program that i am supposed to start :D
so how do i get it to work as the regular unlock screen of the phone every time i turn it on??
i have a SAMSUNG SGH-i780 with WM 6
AND: the "slide to unlock" bar isnt visible!! u can only see the button which u slide ??
PS: this would be how i want it http://www.youtube.com/watch?v=8_f9Pidz5_0
binary64
3rd January 2010, 02:49 AM
nice work.. will v1.0 use direct3d or something that is a LOT faster and flicker-free?
also instead of asking for a PIN like wm does, could you do a challenge/response.. eg enter 2nd and 4th digits of your pin
Mr_stickz
3rd January 2010, 06:45 PM
BUMPERS ~!! this topic is 2 frikin year old!
Dont bump something what dont get updated...
binary64
3rd January 2010, 08:00 PM
it is? oops.. i did scan the last post which was a few days ago.. anyway.. i'm getting a bit tired of abandoned projects on here, not many devs seem to opensource their work in a proper way (sourceforge/google code).. it's a real shame!
ajhvdb
3rd January 2010, 08:43 PM
Agreed, but maybe they think they can sell this but later on ...Please share your code if you don't continue your project.
vBulletin® v3.8.7, Copyright ©2000-2012, vBulletin Solutions, Inc.