Gesture programming with VB.net - Windows Mobile Development and Hacking General

Howdo,
I'm just going to try and build my first gesture program in Visual Studio 2008 using VB. Can anyone give me some pointers on how I get this going. I've been looking at Inkcanvas but I'm not sure if this is right?
Many thanks

TheNecroscope said:
Howdo,
I'm just going to try and build my first gesture program in Visual Studio 2008 using VB. Can anyone give me some pointers on how I get this going. I've been looking at Inkcanvas but I'm not sure if this is right?
Many thanks
Click to expand...
Click to collapse
Hey I would like to learn that too...

Google is your friend:
http://www.vbaccelerator.com/home/NET/Code/Libraries/Windows_Messages/Mouse_Gestures/article.asp

Fantastic! Looks like a good starting place. Is there much advantage of using C# compared to VB out of interest?

Just found this as well
http://www.codeproject.com/KB/mobile/MouseGestures.aspx

I'm currently finishing to write a simple proof-of-concept application launcher using simple stylus gestures (no neural nets, just eight directions supported - somewhat like in firefox mouse gestures plugin). Right now it works quite fine and the code is easy to port to any language as long as you can record last few locations of stylus.
I'll post it as soon as i find out how to launch an application from C level. The simplest way system() doesn't seem to work

Dziekuje!
I look forward to seeing it!

As promised:
http://forum.xda-developers.com/showthread.php?t=374375
That's just a proof of concept - the included program doesn't do anything but recognizing gestures as you draw them and reacting if the drawn gesture matches one of patterns defined in config file (still didn't have time to find out how to make it launch an app).
The demo application is in C, but once you understand the method behind it, it should be easy to port to any programming language. Of course that's probably not the best way to do it, and it's definitely not the only way to do it, but it's simple to implement (no neural networks required), supports eight directions (including diagonal - opposed to methods described in links above), and gesture can consist of many strokes (a single gesture may be drawn like: left, up, up-right, down-right, down, up-left, right...). There's still a lot of room for optimizations, but it's some starting point...

Thats really smart! Well done, thanks for coming back to me! I will investigate it over the weekend! . Thanks also for the information on the compiler thats also useful to know!!

Related

Absuluut newbie, help on eMbedded C++ 4.0 please

Hello,
I'm a Visual Basic programmer for some time now.
Made some useful stuff they tell me.
Used C++ (Borland) about 10 years ago, so that’s a bit rusty.
Now I've ordered a Qtek 9090, and I would want to develop some software for it to. So I downloaded and installed the SDK and eMbedded C++ 4.0.
I thought, I start out on the emulator......
I can't even get my own "Hello world" program to work........
I have downloaded a "Hello World" program which I stepped through in debug mode. I have NO idea what they are doing there.
It contains about 20 files, hundreds lines of code, just to put "Hello World" on the screen of the emulator.
And I hoped that:
Code:
#include <stdio.h>
main()
{
printf("Hello, world!\n");
return 0;
}
pleased in a form, would do the trick………
The help in the IDE does not work.
Re-install it tell's me. I have done so, but the help function does not work.
Where is the "visual" part in the embedded Visual C++?
How do I place forms and buttons e.g.?
I have no idea where to start now.
Searched a lot of forum's for starters-help, but I can not find anything that helps me on my way. I just hope I've not become stupid.....
Would somebody please help me on my way?
Can I wholeheartedly recommend the book "Programming Windows CE", by Douglas Boling? It's normally cheap (or the second edition is) on ebay and it really is good.
Failing that, you're writing a console based application for something that uses a windowing environment by default, so you'll either have to change what you're linking to, or have a winmain that makes use of a graphical UI rather than stdout. Call MessageBox perhaps? This is all made *so* much easier with a working help system that you need to get that working.
You can manage resource files visually, so it really is Visual development. Plus, for free, it's an excellent development tool. Well, it isn't bad.
The best advice I can give is to get your machine set up correctly with EVC2002, or EVC 4 with SP4 and the appropriate SDKs, and take it from there.
Good luck starting out.
Cheers,
Nick.
chiark said:
Can I wholeheartedly recommend the book "Programming Windows CE", by Douglas Boling?
Click to expand...
Click to collapse
Thanx. I'm going to order that book.
Failing that, you're writing a console based application for something that uses a windowing environment by default, so you'll either have to change what you're linking to, or have a winmain that makes use of a graphical UI rather than stdout. Call MessageBox perhaps?
Click to expand...
Click to collapse
Well, yes. I know. Like I sayed, I usualy work with VB. It was just me, trying to oversimplify things.
What I ment to express is that I'm pretty supprised I still have to write the message-loop and the main-loop and the jsadgkh-loop and....
I just hoped to put up some forms and attach code to it. But maybe I'm missing the clue on this.
This is all made *so* much easier with a working help system that you need to get that working.
Click to expand...
Click to collapse
I have set it up on an other machine yesterday, and there the help works.
Today I'm going to make use of it.
You can manage resource files visually, so it really is Visual development. Plus, for free, it's an excellent development tool. Well, it isn't bad.
Click to expand...
Click to collapse
Well.... That part, the visual part, I don't see yet, but like I sayed, I'm going to work throuhg the help, now that I've got that working.
And a 'free' tool. Well, that's allways nice. I think it is good for us, AND good for them. The more software there will be on the market, the better the devices sell.
The best advice I can give is to get your machine set up correctly with EVC2002, or EVC 4 with SP4 and the appropriate SDKs, and take it from there.
Good luck starting out.
Cheers,
Nick.
Click to expand...
Click to collapse
Thanks for you tips.
Rens
Dox, drop me a PM, I've got an old copy of the book you can have if it would help
Re the message loop stuff, you've indeed got options. You can either use the message loop approach hitting the API directly, or you can opt for using MFC to abstract the stuff away from you.
Personally, I prefer the straightforwardness of using the API rather than MFC. By the time you've written one application, you've got the bulk of the next . I also write for older machines, and the overhead of MFC is a consideration, but on the XDA it really isn't.
If the application is simple, it can all be handled by a DialogBox. You will need to write a DialogProc to handle the appropriate messages, but the need to register a window class, get messages off the queue etc is removed from you. Similarly, you can have multiple pages on a single dialog box using propertypages.
If you did want to write a console application, you can do this but you need to change the linker options within EVC.
Have a good look at the samples, too, there's some real good stuff in there.
Cheers, and good luck
Nick.

Creating custom on-screen keyboard (SIP)

Dear developers,
Do you have examples (source code) that could be used / modified to create custom on-screen keyboard (SIP)?
Inspired by the iPhone keyboard and the latest HappyTappingKeyboard:
http://forum.xda-developers.com/showthread.php?t=296455
I created my own design (attached) that I believe could be a better on-screen keyboard for our beloved WM device:
- It has a clean layout
- Maximized towards 240 pixels wide
- Relatively good looking
- Have the most important keys in the main layout
- Plan to have "custom keys" in the 3rd layout (the "..." button)
What do you think?
But as you probably know, I am not a WM coder/developer.
So, I am just wondering if someone can provide an example or even better to pick up this project.
gogol, I really like the look of your keyboard design/layout! I've been trying to get HappyTapping to work (well, it "works" but can't be skinned) for the past week on my Axim X50v. Anyway, I don't see much hope for HappyTapping, so naturally I'm excited to see someone looking to develop a keyboard similar to it (and hopefully in the English language). I have no experience developing SIPs for Windows Mobile, but I do have Visual Studio 2005 and have done some WM apps before.
I hope some others with knowledge of SIP developement can chime in and help this thing take off!
cavyman said:
gogol, I really like the look of your keyboard design/layout! I've been trying to get HappyTapping to work (well, it "works" but can't be skinned) for the past week on my Axim X50v. Anyway, I don't see much hope for HappyTapping, so naturally I'm excited to see someone looking to develop a keyboard similar to it (and hopefully in the English language). I have no experience developing SIPs for Windows Mobile, but I do have Visual Studio 2005 and have done some WM apps before.
I hope some others with knowledge of SIP developement can chime in and help this thing take off!
Click to expand...
Click to collapse
here's a link to HappyTapping keyboard skins (but in Japanese)
http://briefcase.yahoo.co.jp/bc/tf_....src=bc&.done=http%3a//briefcase.yahoo.co.jp/
NNagendran said:
here's a link to HappyTapping keyboard skins (but in Japanese)
http://briefcase.yahoo.co.jp/bc/tf_....src=bc&.done=http%3a//briefcase.yahoo.co.jp/
Click to expand...
Click to collapse
Sorry, I should have been more clear. I have about every skin out there for Happy Tapping and have tried them all. For some reason, the skin is just never applied to my keyboard. I don't know if it's a conflict with my ROM or with WM5. I know it is skinnable and many have done so successfully without any problems...it pretty much just hates me. Thanks anyway for the link!
Here you got a link about Soft Input Panel. You get a code example when you download the SDK for mobile 6. I'm still working on trying to learn my self C++ and mabye manage to make on my self. But we will se what i manage in the end .
I love Blimkeys. Unfortunately, there has not been an update of it that uses predictive T9 like the T9 SIP pad that's built in into many phones. Maybe you can do something similar to Blimkeys, but w/ 9 and skinnable keyboards?
ialu, thanks for that, I will try to get my hand dirty as well (I am not familiar with C++, but I know other Windows programming language to help me learning).
People are complaining that WM phone is difficult to use, iPhone owners brag their UI.
But I saw a lot of progress on improving the WM user interface.
The finger friendly contact from "tene" is one example (very nice app!).
However, I still cant find a good on-screen keyboard, until we found that HappyTappingKeyboard. But again, I think it can be improved. That's why I started this project.
ialu, please let me know if you can compile that example and then use it in the emulator.
ialu said:
Here you got a link about Soft Input Panel. You get a code example when you download the SDK for mobile 6. I'm still working on trying to learn my self C++ and mabye manage to make on my self. But we will se what i manage in the end .
Click to expand...
Click to collapse
gogol said:
ialu, thanks for that, I will try to get my hand dirty as well (I am not familiar with C++, but I know other Windows programming language to help me learning).
People are complaining that WM phone is difficult to use, iPhone owners brag their UI.
But I saw a lot of progress on improving the WM user interface.
The finger friendly contact from "tene" is one example (very nice app!).
However, I still cant find a good on-screen keyboard, until we found that HappyTappingKeyboard. But again, I think it can be improved. That's why I started this project.
ialu, please let me know if you can compile that example and then use it in the emulator.
Click to expand...
Click to collapse
Yeah i have managed to run it on the emulator
This is also a good example:
http://msdn2.microsoft.com/en-us/library/ms881221.aspx
And this :
http://blogs.msdn.com/windowsmobile/archive/2005/02/10/370355.aspx
http://www.marcusperryman.members.winisp.net/BlogStuff/NewSIP.zip
Thats the example that follows the SDK for mobile 6
gogol said:
Dear developers,
Do you have examples (source code) that could be used / modified to create custom on-screen keyboard (SIP)?
Inspired by the iPhone keyboard and the latest HappyTappingKeyboard:
http://forum.xda-developers.com/showthread.php?t=296455
I created my own design (attached) that I believe could be a better on-screen keyboard for our beloved WM device:
- It has a clean layout
- Maximized towards 240 pixels wide
- Relatively good looking
- Have the most important keys in the main layout
- Plan to have "custom keys" in the 3rd layout (the "..." button)
What do you think?
But as you probably know, I am not a WM coder/developer.
So, I am just wondering if someone can provide an example or even better to pick up this project.
Click to expand...
Click to collapse
It looks very good, thanks for sharing.
But I would like to use this one:
http://forum.xda-developers.com/showthread.php?t=427913
Basically I need the bigest keys possible. And only letters.
Anyone can help?
Thanks.

Getting into WM5/WM6 programming?

I am interested in dabbling a little in programming for my Kaiser. I have programming experience, mainly php / mysql, though I have done some C and lots of scripting in my time. My biggest project so far though was an open source google maps mod to put on your website - thousands of lines of php / js code, mysql backend and AJAX tieing it together, some graphics routines etc, so I am no drooling n00b when it comes to coding.
How easy is it to develop basic stuff in WM?
I have access to MSDN, so I can get Visual Studio (2005 for sure, maybe later versions), so I think I have access to the apps I would need. I just ordered some books to help me along, but was wondering if I would likely face a steep learning curve.
All the stuff I want to do is today screen plugins - was thinking of having a bash at writing my own quick contacts plugin - *very* basic - just a vertically scrolling list of names over a transparent PNG button with maybe photos from the address book - I want it to be able to scroll by vertical gesture within an ultimatelaunch tab - is this likely to be quite easy and quite a good "first app" to program?
I was also looking at writing a lite repacement for phoneweaver as the only feature I use is to turn on BT when it detects power but no activesync (ie auto turn on BlueTooth when I am in the car and the device is cradled) - maybe a hack to force the keyboard backlight on in the same situation.
I have bought:
Microsoft® Visual C#® 2005 Step by Step (Microsoft)
Microsoft® Mobile Development Handbook [Paperback] by A. Wigley; Daniel... (Microsoft)
Comments / suggestions?
I would also be very interested in a thread or good reference on how to start to program app for mobile gadgets. Actually i'm a Delphi coder, and i would like to implement some applications on WM platform, but when i search over internet there's plenty of information, but no usefull information with "real-life" recomendations.
depend on the platform and language one wish to use really
there is c#.net, vb.net c++.net
c++ miniMFC, c++ PureWin32 sdk
oldVB
...
here are some other posts asking pretty much the same thing from the forum
http://forum.xda-developers.com/showthread.php?t=225405&highlight=programming
http://forum.xda-developers.com/showthread.php?t=237932&highlight=programming
http://forum.xda-developers.com/showthread.php?t=241670&highlight=programming
http://forum.xda-developers.com/showthread.php?t=245426&highlight=programming
http://forum.xda-developers.com/showthread.php?t=228043&highlight=programming
http://forum.xda-developers.com/showthread.php?t=317913&highlight=programming
http://forum.xda-developers.com/showthread.php?t=302548&highlight=programming
http://forum.xda-developers.com/showthread.php?t=327164&highlight=programming
http://forum.xda-developers.com/showthread.php?t=305926&highlight=programming
http://forum.xda-developers.com/showthread.php?t=336251&highlight=programming
http://forum.xda-developers.com/showthread.php?t=226412&highlight=programming
codeguru.com got examples of various windows mobile programs too today items and such
about delphi i dont know if anybody got some info i would say borlands site
Thanks rud. I was aware of various other posts, but my question was more of a "How steep is the learning curve?" rather than "How do you do it?".
There was also an element of "How do you do it?" insofar as there seem to be better or worse ways of going about various kinds of app (eg today apps with gesture support) which I am finding a bit of a minefield, but I feel that the new post was valid because I am giving an indication of my experience level and what I am trying to acheive - none of the posts you listed cover the combination of stuff I am trying to do. Reqs like pulling from outlook db and allowing gesture scrolling in a today plugin, I dunno, I may waste ages with C#, for example, only to realise it is a breeze with C++... I also note that a google search for wm programming gesture scroll today screen currently ranks this very thread #5. By tomorrow that'll be a googlewhack then.
Yes, there are various posts about how to get started, but I think maybe a sticky would be in order with a bit of info on the various paths - the vb/c++/c# options are quite bewildering - stuff like
levenum said:
Your question is mainly a matter of personal preference.
Here is my opinion on C++ vs. C#:
C++ advantages:
- Native code is faster than .NET
- Easier access to Win32 APIs
- Ability to write system components like keyboards and today plugins.
C# advantages:
- Saves on coding time
- Allows use of many .NET CF components to quickly accomplish complex tasks.
Please note that I am bias. I hate .NET and want nothing to o with it. Specially on mobile devices that do not have the processing power to spare for the .NET overhead.
Click to expand...
Click to collapse
is really useful, maybe if it were expanded upon, info such as for this route you need visual studio, etc, etc it would make a really good sticky for the dev section.
evilc said:
I am interested in dabbling a little in programming for my Kaiser. I have programming experience, mainly php / mysql, though I have done some C and lots of scripting in my time. My biggest project so far though was an open source google maps mod to put on your website - thousands of lines of php / js code, mysql backend and AJAX tieing it together, some graphics routines etc, so I am no drooling n00b when it comes to coding.
How easy is it to develop basic stuff in WM?
I have access to MSDN, so I can get Visual Studio (2005 for sure, maybe later versions), so I think I have access to the apps I would need. I just ordered some books to help me along, but was wondering if I would likely face a steep learning curve.
All the stuff I want to do is today screen plugins - was thinking of having a bash at writing my own quick contacts plugin - *very* basic - just a vertically scrolling list of names over a transparent PNG button with maybe photos from the address book - I want it to be able to scroll by vertical gesture within an ultimatelaunch tab - is this likely to be quite easy and quite a good "first app" to program?
I was also looking at writing a lite repacement for phoneweaver as the only feature I use is to turn on BT when it detects power but no activesync (ie auto turn on BlueTooth when I am in the car and the device is cradled) - maybe a hack to force the keyboard backlight on in the same situation.
I have bought:
Microsoft® Visual C#® 2005 Step by Step (Microsoft)
Microsoft® Mobile Development Handbook [Paperback] by A. Wigley; Daniel... (Microsoft)
Comments / suggestions?
Click to expand...
Click to collapse
Hey!
Congrats on getting your hands on with Windows Mobile...
The easiest way is to download Visual Studio 2005(2008 You have it on MSDN) - and create a new application with it.
It's sooo easy if you know your object oriented programming, as long as you want to create ordinary "office" applications... But if you want to do more advanced things(like creating a today-plugin) you need to go over to c++(even though you can download a .net home-plugin-container which acts like a "loader" for your plugin written in c++) - and also, if you want to create good GUIs, I think you are better off with c++... But then again, I think you need a bit more effort in learning c++ then using c#...
Hope this helps...
Still slogging my way thru this...
I got hold of an MSDN disc, first off I installed visual studio 6 - bad move.
Had to uninstall before trying to install VS 2005, now I think it has screwed something up, every time I try and create a "Smart Device Win32" project, I get a "Project creation failed" error. I may have to re-GHOST my OS to get rid of it
So much time just finding out what apps I need and what options to choose to start a project...
I found http://channel9.msdn.com/wiki/default.aspx/MobileDeveloper.HomePage which seems helpful
Thanks for responses!
Evilc, you link of msdn is excellent point, many thanks!
I have also just started programming in C++ ..i dnt have any knowledge of any type of codes..i learned every thing frm MSDN libraries ( i have many many of them caz i have VS 2006 VS 2005 and VS 2008 )..i recommend you to work with C++ because it uses less system resources and is fast..hope this helps..check out my Kitchen coded in C++ ( link in signature )
Yeah, I think C++ is definately more what I am looking for from what I have learned thus far.
Re-Ghosted OS - totally fresh XP SP2, installed Visual Studio 2005, still the same error. GRRR!
Visual C++ --> Smart Device --> Win32 Smart Device Project == "Project Creation Failed"
Other Languages --> Visual C# --> Smart Device --> Windows CE 5.0 --> Device Application == Project created OK.
Some posts I have found on the net say it is an IE7 issue, I may try uninstalling that or flashing back to an OS image with IE6 only, but this is really winding me up and taking a *lot* of my time...
I uninstalled IE7 and the problem went away. Woohoo!!
starting programming windows mobile
hello
1. see my web site.
2. see my book recommendations, especially the 'programming windows ce' by douglas boling. It has an example for many things and a today sample too. Most is based on visual c++ 3.0/4.0. Embedded Visual C 4 can be loaded free of charge at ms.
regards
josef
Nice site, thanks.
The windows mobile 6 sdk actually has a today screen sample, along with samples of most of the things I need to do.
neofix said:
It's sooo easy if you know your object oriented programming, as long as you want to create ordinary "office" applications... But if you want to do more advanced things(like creating a today-plugin) you need to go over to c++(even though you can download a .net home-plugin-container which acts like a "loader" for your plugin written in c++) - and also, if you want to create good GUIs, I think you are better off with c++... But then again, I think you need a bit more effort in learning c++ then using c#...
Hope this helps...
Click to expand...
Click to collapse
Are we using the same language?? Cos this (C++ Win32 for Mobile Devices) is by far and above the most difficult programming language to get into that I have ever tried. Yes, worse than ASM.
Trying to code an app that prints "Hello World" has taken me over 5 hours with no success yet - most languages I have a go at it's 5 minutes.
From http://msdn2.microsoft.com/en-us/library/ms901121.aspx :
Code:
int DrawText(
HDC hDC,
LPCTSTR lpString,
int nCount,
LPRECT lpRect,
UNIT uFormat
);
It gives a brief description of what the parameters are, but absolutely no examples and no explanation of what all the parameters do or how to initialize them, so even browsing an example is no use to me.
u can simply try
MessageBox::Show(" your message ");
ather90 said:
u can simply try
MessageBox::Show(" your message ");
Click to expand...
Click to collapse
Isn't that .NET ?
I thought the consensus was that Native Win32 or whatever it is called was the better way to go?
This is part of the problem. I cannot even work out what to put in a search engine to pull out info on the right "flavour" of C and for the pocketpc. It's *so* bewildering.
Hello evilc.
First I noticed you have some trouble with VS 2005. It probably won't be easy now, but if you ever get to format your machine again don't install it (unless you absolutely need some other features).
For C / C++ programming for WM device I strongly recommend eVC 4 as it is much lighter and responds quicker. (It's a free download as well)
Second, though you can program for WM in C# and VB .NET which are both .NET Object based languages and are probably much closer in form to PHP and Java then C, you can not write system components such as today plugins in those languages.
You need native code so C / C++ is the only way to go.
(Actually, there is a trick to combine C# and C++ DLLs to create a today plugin where C# will do the main stuff, but its pretty complicated)
What you need is to learn basic Win32 programming and using the windows API. They are almost identical for Windows Mobile and Desktop windows versions so any book on Win32 should teach you the basics.
(Personally I started with MS book on MFC and studio 6 but I would not recommend it)
Finally:
I would gladly explain the parameters of DrawText but I am not quite clear on how much familiarity you have with the Win32 mechanics, since the languages you are used to obscure them unlike C which gives you extra power but also makes you work much harder to get anything done.
Do you know how to handle messages, and how windows manages all abjects using handles? Any familiarity with GDI?
If not, it will be pretty difficult to explain.
levenum said:
Hello evilc.
Click to expand...
Click to collapse
Hello! <waves>
First I noticed you have some trouble with VS 2005. It probably won't be easy now, but if you ever get to format your machine again don't install it (unless you absolutely need some other features).
Click to expand...
Click to collapse
I tracked down the problem when I got home and installed on my desktop. When doing it on the laptop, whilst installing SP1 for studio 2005, I had hit "Not Now" to a reboot request and it had said installation failed. When I installed SP1 on my desktop and said "Yes" to the reboot request, the problem went away, so I guess it was fixed in SP1 but the installer is a bit picky.
For C / C++ programming for WM device I strongly recommend eVC 4 as it is much lighter and responds quicker. (It's a free download as well)
Click to expand...
Click to collapse
Wish I had that advice before as I wasted a day messing around with an MSDN CD, trying to work out what to install and what not. So does the eVC 4 download include an IDE? If not, what do you use?
Second, though you can program for WM in C# and VB .NET which are both .NET Object based languages and are probably much closer in form to PHP and Java then C, you can not write system components such as today plugins in those languages.
You need native code so C / C++ is the only way to go.
(Actually, there is a trick to combine C# and C++ DLLs to create a today plugin where C# will do the main stuff, but its pretty complicated)
Click to expand...
Click to collapse
You don't have to tell me twice to avoid the bloatware ****e
What you need is to learn basic Win32 programming and using the windows API. They are almost identical for Windows Mobile and Desktop windows versions so any book on Win32 should teach you the basics.
(Personally I started with MS book on MFC and studio 6 but I would not recommend it)
Finally:
I would gladly explain the parameters of DrawText but I am not quite clear on how much familiarity you have with the Win32 mechanics, since the languages you are used to obscure them unlike C which gives you extra power but also makes you work much harder to get anything done.
Do you know how to handle messages, and how windows manages all abjects using handles? Any familiarity with GDI?
If not, it will be pretty difficult to explain.
Click to expand...
Click to collapse
No GDI Experience. I take it this would be the library of choice for drawing the screen of a today screen app? Stuff like the HTC Home clock or the new Face Contacts - they would likely use Native C++ and GDI? Doesnt strike me as something you would do with a form.
Also, anyone got the skinny on vertically scrolling by click-and-drag inside a today screen app? Just a case of enabling a parameter? Has to be coded manually? Best way to do it smoothly? If you have seen the Conduits Pocket Player 3.x browse list - how it "eases in" and "eases out" at the ends of the list, has inertia so you can "flick" down the list, the alphabetical bar instead of the regular scroll bar - is that all coded manually or is there an api or something that can help?
Thanks for the help!
I just noticed your apps in your sig - checked out LVM time - noticed there was source - wooohoo! I generally pick these things up by example.
All that code just for a (configurable) clock on one line - wow. Great though, a really good example of a today app - minimal enough in functions so it is easier to suss how it all slots together, but full featured enough (implimented example of an options screen - yay!) to show how to do various things.
And Gnu as well! Nice, this will be the basis of my first test project too I think - at least now I have a framework to test out what I want to do and how to go about it without having to work out how to code the basis of the application.
I thank you from the bottom of my heart sir.
I tried to build it in VS2005, but I got a
fatal error C1083: Cannot open include file: 'todaycmn.h': No such file or directory
A quick google search showed todaycmn.h was part of the SDK, I found the file, dropped it into the headers section of the project, but no joy. I will probs just try eVC.
Oh, and having developed a today plugin, maybe you can answer this one:
As far as I can tell so far, debugging isn't very easy with a today app - something to do with the fact that the dll is not releasable? Is this an issue I will come up against? I hope its not a case of "reinstalling" the app each time you want to test... I was thinking maybe along the lines of have it as a normal app for debugging, then make it a today plugin when you want to build to use it?
I dunno, probably trying to run before I can walk, my books shoulda been here today, oh well. Sorry for all the questions...
@evilc:
Are you using standard Win32 or MFC?
You may want to try using MFC since you get the flexibility of native development but with some nice class libraries that make your life easier.
As for click and drag behavior, that is usually implemented by handling the WM_LBUTTONDOWN, WM_LBUTTONUP and WM_MOUSEMOVE.
When you get wm_lbuttondown you set a flag that says the user is dragging. You use wm_mousemove to update the stylus position as long as this flag is set, then you unset it on wm_lbuttonup.
That's the basic idea anyway. Someone made a post about gesture recognition in this forum a few weeks ago with sample code. You should see if you can find that.
Managed Today Screen plugins
See:
http://msdn2.microsoft.com/en-us/library/ms839442.aspx
for some background on the concept.
And:
http://www.christec.co.nz/blog/archives/279
Outlines what I think is a very ingenius technique for managed today screen plugins.
For those of you that want an easy way to make a today screen app in c#. Chris did all the C++ work for you.
Also I forgot to mention that the SDK samples cover all most every application type you can think of. Most of the good ones are Win32 though.
Also, keep in mind that you can use P/Invoke from your C# apps to call native APIs. So don't let people tell you you need to use C++ just because you can access more api's. I will say that you should use C++ for games, or other apps that require high speed or advanced GUI's (it is VERY hard to do interesting gui techniques with C# and interop, trust me).
And finally, I would highly recommend using the most recent version of visual studio you can get (especially if you're using vista), unless your machine can't handle a newer version. I say so because visual studio gets more and more powerful as an editor with each new iteration and I personally can't go back after I get used to the new features they introduce. And the new versions are almost necessary if you're going to do .net development.

[REQ] Very Interesting and unique text-entry method -- (no keyboard) (App Idea)

NOTE: By "No Keyboard" I just mean that this method does not involve a KB of any kind.... I do NOT mean to imply that this is a total replacement for the physical keyboard...... rather I think of it as a one handed on-screen text entry method to be used when convenient
I think someone should port Dasher to Android.
Dasher is free software, that takes an extremely unique approach to achieve 'information efficient' text entry. It allows lots of different input methods, and is very adaptable, and customizable.
Here is a description from the Dasher Website.
Dasher is an information-efficient text-entry interface, driven by natural continuous pointing gestures. Dasher is a competitive text-entry system wherever a full-size keyboard cannot be used - for example,
[*] when operating a computer one-handed, by joystick, touchscreen, trackball, or mouse;
[*] when operating a computer with zero hands (i.e., by head-mouse or by eyetracker);
[*] on a palmtop computer;
[*] on a wearable computer.
...using a mouse/trackball/touch pad, experienced users can write at 39 words per minute.
Click to expand...
Click to collapse
Quick video, just to show it work
http://www.youtube.com/watch?v=0d6yIquOKQ0
An hour long video, that goes into detail, as to how it works, all the different ways it can be used.
http://video.google.com/videoplay?docid=5078334075080674416&ei=caEsSZiUGZOwqwL306zQCA&q=dasher
Dasher on an IPAQ
http://www.youtube.com/watch?v=4jxhJjkwleo
The Dasher Website
http://www.inference.phy.cam.ac.uk/dasher/
Also -- I have seen posts around the net asking for chinese input methods. And thought I would point out, that Dasher already has support for all sorts of languages, so if someone ported Dasher to Android, it would give it another unique option for text input in all sorts of languages.
Here is a link that shows the language files already available for Dasher.
http://www.inference.phy.cam.ac.uk/dasher/download/alphabets/ALPHABETS.html
I like it. the interface may have to be reconfigured a bit. but in general, i think it is inovative. and i like it
This is a great idea. I hope someone picks up on this for Android!
This was brought up sometime early last year.
Nothing came of it, but no objections were raised, so afaik its not impossible. And I agree it would be pretty good to try out
/shameless bump
This does look very interesting. <quick google> Hmm, maybe worth keeping an eye on this blog entry & this comments section too.
Lol -- I hadn't tried googling it in a while -- thanks for the heads up!! Glad to see someone is on it!
FYI Here is a video of it working.
http://www.youtube.com/watch?v=25-t80ld8MY
Yup, looking good. I hope there'll be something we can beta test soon. I'm curious to find out what kind of speed it can manage. Also how the size of the keyboard will impact on usage.
Wahhou
Dasher is awesome !!!!
Please, tell me when you will have finish with Dasher for Android! I can't wait !!!!
Sure, I would like to help you, but I haven't any skills in programming, so I*could make beta testing.
Thanks a lot,
Have a good day
awww did this thread die?
There is a java version on the dasher website, don't know if that would make it any easier to port.
If it was done it would need a left handed or right hand option so your thumb doesn't cover suggestions, or maybe working from the bottom of the screen as opposed to the left.
I hope someone does work on this, I can imagine it is very fast once you are used to it.

Under Dev - CAD application for Android

My team has been vigorously working on a CAD application for android. I will post some screenshots of the tool if anyone is interested, so please let me know.
It's currently being tested and developed using a Motorola Droid running 2.0.1. Although we can run the emulator and test different screens using it, we find great difficulty in knowing if the "feel" is nice on a smaller screen.
Anyway - current features that are working:
Objects: Line, Circle, Ellipse, Rectangle, 3 Point Arcs, Text Areas
Drawing Modes: Orthographic (including 45s), Grid On Off, Snap Mode On Off (Endpoints, Centerpoints, Midpoints, Quadrants)
Other Things: Undo, Redo, Erase, Modify (reshape & move), Pan, Layering System, Linetypes, Colors & Text Sizes.
In The Works: Zoom (Option for Pinch), Configurable Toolbar (Add/Remove Tools), Export to DXF & Linetypes.
We are looking for a few people that would be willing to get in on a "PRIVATE Beta" to assist us with the continued development. We have our day jobs, so this is a project that when we have time to work on, we do. However, we do spent quite a bit of time working on it .
Anyway - We want to be picky about the testers, simply because we need to have a nice round group of people. Not plumpy, just round. We need a couple guys that are good with input, finding problems, etc. And we also need a few that dont know anything about CAD and can help us to see if the average joe can figure it out.
We also need a couple good mathmeticians or programmers. Or even one would do. We are having some trouble computing certain boundaries (ellipses to be more precise) that we need to understand so that we can build in other commands like Trim or Extend. (Plus our select option on ellipses is a bit hokey, but knowing how to find an ellipse will solve that for us)
For now, the only assistance I can give you is through the board here, and help you get started. The tutorial will come soon, once we get the basics figured out as to how we want to make it really work.
Anyway - To make a long story even longer - let me know if you might be interested. I would be more than happy to post some screenshots if you like of its current state. So let me know if you are interested.
Thank you very much for sticking through the long a$$ read, or even for skipping through to the "thanks" is enough for me.
That being said - LMK! Thanks!
A capacitive touch screen doesn't seem a good candidate for controlling a smooth CAD experience. However on second thought, when coupling together this technology with a trackball, the possibilities really open up. Harness these well and I know you'll be onto something here.
Post some screens to show everyone the progress of your development and I'll let you know if I'd be interested in testing.
Cheers
Well if your looking for anyone with CAD knowledge, I have a degree in engineering with CAD, and Pro Engineer. I don't have much time to devote to beta testing, but I do have time every now and then. I run a ION with 1.6. Good luck on your software!
(Unfortunately - my account has not been enabled for posting outside links or images - so this is the best i can do for you until that is enabled)
talon-designs.net/android/andcad/11.jpg
Above is a screen shot with a couple drawn elements, and the right side of the toolbar tools.
talon-designs.net/android/andcad/09.jpg
Above is a screen shot with a couple drawn elements, and the left side of the toolbar tools.
There are a handful of more screenshots posted up on my site, the links are as follows:
talon-designs.net/android/andcad/01.jpg - Layer select screen
talon-designs.net/android/andcad/02.jpg - File Operations
talon-designs.net/android/andcad/03.jpg - Display Settings
talon-designs.net/android/andcad/04.jpg - Samle Help Screen (Line)
talon-designs.net/android/andcad/05.jpg - Snap Settings
talon-designs.net/android/andcad/06.jpg - Color Picker
talon-designs.net/android/andcad/07.jpg - Snapping to Midpoint
talon-designs.net/android/andcad/08.jpg - Selection of Ellipse
talon-designs.net/android/andcad/10.jpg - Text Input Screen
That should be plenty of screens to keep interest.
@Lancealot - Thank you very much, and I completely agree, that when we started this, there was some doubt as to how precise you could actually be using a "touch based" screen. The good news, through playing with it, and given ability to set tolerances based on the size of your "touch area" as well as snapping options, we found that you can actually be quite precise.
Ill fiddle with it a little today, put together a drawing and give you a nice example of something that can be made with this.
Keep in mind, this is a work in progress, and although much of the functionality that is currently built into the tool, is at a "finished" state, there is certainly room for input and comments from others that may find use in this tool.
Anyway - here are the screenshots as promised, let me know if you have any further questions.
(Again - sorry about the inconvenience on the links)
(edit to update image types to jpg instead of png)
@zul8er - we are certainly interested in your input. Check out the screenshots and let me know if you are still interested. We dont need a huge commitment, but anything that you might be able to provide would certainly be a big help.
Android 1.6 is the minimum OS currently supported. We need to do some work on the graphics to go as far back as 1.5 to compensate for screen size, and we intend on doing so.. Just not at this current time.
I would be interested in trying out your CAD program. I've been doing CAD for ove 10 years now, started with AutoCAD but have been using Solidworks for the last 8 years.
In addition to using the touch screen for input, will you be able to enter X and Y coordinates using a keyboard or virtual keyboard?
What format will it save the files? DXF, JPG, or what?
Noob Squared said:
I would be interested in trying out your CAD program. I've been doing CAD for ove 10 years now, started with AutoCAD but have been using Solidworks for the last 8 years
Click to expand...
Click to collapse
Seems there are more and more of us creeping out of the woodwork on a daily basis
Noob Squared said:
What format will it save the files? DXF, JPG, or what?
Click to expand...
Click to collapse
Currently the file format is a proprietary format. But we are currently (today actually) working on saving out to a DXF format to be able to reload your files into AutoCAD or other supported softwares.
The ability to import is also in the works, but will require some massaging on the users end to make sure the DXF file is not binary etc. (MTEXT may not be supported either)
Noob Squared said:
In addition to using the touch screen for input, will you be able to enter X and Y coordinates using a keyboard or virtual keyboard?
Click to expand...
Click to collapse
We have toyed with the idea of being able to put in specific dimensions on objects, and also work with x/y coords, but at this time, it only supports point to point drawing. We arent completely sure if we intend on building a "FULL ON CAD" application, or an application for people to use to simply get an idea of what they need to do for a job. The other key, is to keep the application at a price range that is reasonable for people. Most "PocketCAD" applications run around 50 bucks a copy - and rightfully so. To keep the tool at a reasonable range (below 10 or 15 dollars) it may need to be a bit lighter weight than those. Most people cringe at a 2.99 app..
IF we could devote our time 100% i am sure we could build a really nice full blown cad app Unfortunately as with most of us, the day job prohibits some of that time.
Its a WIP I'll put you on the list. Thanks for the input.
Are you looking for beta testers?
Hi, are you looking for beta testers. I'm a long year CAD user, and I'm sure I can help with the app development.
[email protected]
Have you tried using some of the java based cad software as a source for your project? There are many and some might be open source.
http://sourceforge.net/projects/ycad/
Yeah I am still interested. It will be neat to play with and see how it works. The coordinate input is a good idea, also, ever play with Pro Engineer? They have a cool way of building an initial drawing. You just sketch, regen, and then input your dimensions to make the object to your liking. Makes things a lot faster and easier to edit a shape if changes need to occur.
I dont know how in depth you want to go, or if that idea can be used.
My email is [email protected]
Nice
Give me a couple more days to get a good product out for you guys to test. Currently we are cleaning up a few little "we'll get that later" issues, and should be good to go by mid/late next week.
Thanks for providing the contact info, I will shoot you a message through email shortly.
Thanks agian for the interest.
@zul8er: nice. Look forward to hearing how you like the feel of it. I havent had a chance to play with ProE, as AutoCAD has been my forte for the last couple decades. Ill see if i can any kind of demo for ProE, and get an idea of how it works. Who knows Anything to make it easier for everyone is a good thing.
But yah - the indepth thing is the issue. We keep tossing with ideas and putting them "on the list" in case people start asking for them. I guess it just depends on how people really want to use this tool. (and of course, how much time we can continue to devote to it) - bah i hate day jobs
I enjoyed the screen shots that were posted. Any idea whether you guys will support rendering/raycasting, or physics with inverse kinematics? Either way it looks great; Sign me up!
haha Not sure if we are going to go the IK way. Maybe as a different project, something more suited to 3D, but for this app, we are only intending on running the 2D route.
My lack of knowledge about the OpenGL portion, really limits us with regards to 3D implementation. I spent a good 3 days just trying to get ahold of loading in a 3D model.. Still never got there (or would have probably released a 3D model viewer first).
At any rate, its hard to say where this will go. It mostly depends on the overall interest i suppose. Its certain that the sky would be the limit, if time were as available as the sky
But cool.. Glad I was able to keep your interest.
Currently (as I type even) I am finishing up all of the help documentation for the app, the inline tutorial, and what not.. A couple more days on the file handling (DXF in particular) and should be set to go for a BETA run. ('couple more days' - like we all havent heard enough of that)
@lancelot - can you send me your email address via private message? That way I can do the BETA communications through there (link to files etc). You are welcome to email me as well:
support AT talon-designs.net
cheers!
Hey, I'm a high school student that has just started learning CAD, does that count as average Joe? I'd love to help beta test, I really want android to overpower iPhone 3.0 lol. My e-mail is [email protected] I use g1 with cyanogenmod 1.6...so idk if that qualifies. But anyways, Good luck!
This really sounds promising. In the last few weeks, I really had the need for a good drawing software on my mobile device. But my Tytn II lacks of power. As I soon will get the Desire, I will hopefully have a quite powerful device for all day use (my Tytn II really sux atm). And because I have the re-occurring need of a drawing app, this could be it.
I mean I don't need it for simple drawing, but for constructing things CAD style and on the go Graphics of furniture or something with measures and all that stuff.
Hey guys.. just wanted to pass you an update on status (which is so much more than I seem to be getting from Verizon on the 2.1 update).
Small rant, but its done now.
Ok - status..
DXF Export is working now, supporting layers, linetypes, colors, and elements throughout the drawing. Am having some issues with getting ellipses to export via DXF (and im not alone - faulty specs are at fault), and that combined with the other issues regarding the math behind finding ellipse edges, we decided to comment out the ellipse alltogether for now. Not that it wont be back, but having so many rules with "you can do this to anything - except an ellipse" left us with no other choice.
It's coming back, just not right now.
We have saving and opening completed (simple proprietary ascii format, but it works for what we need it to do).
Zoom is currently partially working (difficult to complete the recalculation on the elements, but its really close) touch events for zoom are coming up as well. Maybe a pinch zoom even, considering that all devices are getting the 2.0+ upgrade - but we will see.. We dont want to keep anyone excluded from being able to use the tool.
@Balrog82 - we have definately taken this tool a long way since its initial conception. We hope to be able to bring more features that are more "CAD Specific" to the application, and will if it becomes a tool that gets used. We want to release it initially as a "basic" drafting tool, and see what kind of input we get. If we see that a lot of people are using it, and would like the ability to put in dimensions the same way that cad does (within limits) we will certainly look into it.
That being said - I hope the tool is still something you would be willing to try out. I find a lot of enjoyment with working with a tool at its early conception (started using paint shop pro at version 1.42) and now its on to version 14 or something and owned by corel. I just kinda get into that sort of thing, and hope that you all will do.
Good thing is, we hope its a draw to the tool, we plan on releasing it at the market both as a free version (no saving abilities) and a full version at a low price. As the tool grows, the price may increase a bit.. Keeping of course the original buyers at a place that they can keep updating the software at no cost to them. We think that will help the advancement and development of the tool quite a bit.
Anyway - It is right around the corner for initial testing. Please to all interested - send me a PM with your contact information (just an email would be great) I am going to see if i can start a private discussion here to invite you all to as well.
@Lancealot - i got your PM.. Am very happy that you are interested in helping. Expect to hear from me again soon..
Until we can see a working model of this app, I thought I would throw out an app that has some great drawing capabilities. The paid was is called "Picso" by Tiki Move, but I used the free version to try out; it's called "Picso Lite".
It's not a CAD app, but it's different from the other Paint apps on Android in that it has tools the other ones don't. It has the usual tools a CAD user would need, such as Rectangles/Squares, Circles/Ellipses, and Lines. You can change the colors and widths of these entities.
What I like about your program is that it has snaps, and the tools are on the bottom of the screen so they are easy to get to: /talon-designs.net/android/andcad/07.jpg
A feature Picso needs is a Zoom tool so you can zoom in to an area and draw whatever you need to and then be able to zoom full screen. It also needs a text tool. Since there is no dimension tool, you could put a text for the dimension.
P.S.,
I want to try your app, but I am only posting this to show how someone else has put these tools on their app and also to have a comparison on ease-of-use. One other thought, you mentioned the files your CAD app will create will be proprietary file types. Will you be able to save-as .jpg or .png so you can email or text-message a sketch to someone? That way if your on-site you will be able to send someone back at the office whatever it is to explain your ideas, and also they would not have to have an Android phone to view it.
Idea sounds great. Good luck with it!
Sorry for being away for so long.. but we had something going on that we had to attend to..
http://developer.att.com/developer/index.jsp?page=event&id=6.3_v1_9700324
More news as it allows.
Android Category Winner
Talon Designs, AndCAD
This application allows users to create simple geometric shapes, combined with notes, to describe plans associated with the art, architecture, engineering and manufacturing industries. Many of the tools familiar to CAD users are incorporated into this utility, meaning that fluent CAD users will feel right at home using this tool. However, the interface for this tool is simple enough for even the most novices of users to understand. This enables certain users (Contractors, etc) to be able to take notes while on a job site and associate them with vector elements within the drawing.
talondesigns said:
Sorry for being away for so long.. but we had something going on that we had to attend to..
More news as it allows.
Click to expand...
Click to collapse
AT&T Open Call-Apps for All! Contest
Thank you to all the participants in the 2010 AT&T Open Call—Apps For All! Contest. This year's contest was filled with many great entries. AT&T reviewed over 90 applications this year ranging from games to business applications. The winners from each category will receive $10,000 and co-marketing opportunities with AT&T.
Click to expand...
Click to collapse
Did you get $10,000?

Categories

Resources