Related
The Fingerprint Scanner SDK (originally posted at http://forum.xda-developers.com/showthread.php?t=1202577) for Android has been released by Authentec. Currently there is only one device(Motorola Atrix) with a fingerprint scanner, but if you release your application with support for the fingerprint scanner (once you get the hang of it it is really not hard to use at all) then users of phones with fingerprint scanners will most likely be happier with your application.
Google has stated that Google Wallet will use fingerprints to unlock the payment system, so clearly more capable devices are on the way (source: http://www.qrcodepress.com/google-unveils-safety-measure-for-their-upcoming-mobile-wallet/853399/). Including fingerprint scanner capability in your application will also future-proof it as AuthenTec will have the same framework in place in other phones that will use their fingerprint scanner (Authentec is a leader in biometric security systems for lots of devices).
MotoDEV Article Guide:
http://developer.motorola.com/docstools/library/writing-fingerprint-enabled-apps
Read and Download the (simple) SDK at their site:
http://developers.authentec.com/
Example of SDK Usage (pulled from the SDK)At the time of this writing, it is my understanding that before you release the application you need to have them review it to meet their security specifications... They don't want you using this fingerprint scanner library and making their work look bad. It's a fair deal to me. I'm not sure if this is how they want it though - maybe that is just for Advanced SDK or maybe I'm just wrong (taken from their site) It appears right now that there is a mismatch between the developers and the makers of the authentec site... apparently there is no requirement for using the fingerprint scanner, so develop away!
I have an Atrix and the fingerprint scanner is amazing, once you use it you will never go back to patterns or pins. As such this guide was written by a user of the Atrix - future devices might not use the exact methodology but it should be nearly identical.
I have the Advanced SDK but I have not used any of the advanced functions yet. After using the code (And getting it to finally work) I have found some things that are not documented or are documented incorrectly in the SDK docs and I have come here to post items that will save you great time. If you find others I hope to hear about them so I can add it to the list - I'll even credit you (maybe with a post number so you can score some thanks points!)
The swipe fingerprint screen won't show up - but I'm getting a result (mine was always 14)
AM2 (Authentec fingerprint framework - there are a lot of unsubscribed terms in the documentation so just go with me here) requires Internet Permission (perhaps to verify the key for the advanced SDK, it might not be done locally - without a key advanced SDK functions will not load). If you don't, all uses of the tsm.jar will not work. Not listed at all in documentation
AM2ClientLibraryLoaded() doesn't work with the code they provide!?
You must Instantiate Authentec.AM2ClientLibraryLoaded() - SDK Docs shows as static but it is not used in the example program they give.
It goes into verification but does not show anything and locks up the fingerprint sensor.
Do not change the 'screen' in the examples of sScreen... I thought that was the title of the window that would appear, but apparently those strings are built into it... it would work better as static fields passed as integers. For values look at the next answer.
What can I use for sScreen (viaGfxScreen(string))?
The documentation says nothing of this but these are different types of verification screens. There is fingerprint scanning only and then there is the unlock style one where you also get the PIN. I'm guessing a modifed version of this is how the lock screen works.
"lap-verify" is fingerprint and PIN
"get-app-secret" is fingerprint only - hit and miss right now... will update when I get it perfected
Why does it lock up?
Only 1 app at a time can access the fingerprint scanner. Motoblur seems to access it occasionally and I think that's why it died on the Atrix's Froyo 1.8.3. It seems mostly fixed but as you develop you will most likely lock it up as you debug. Having a wrong sScreen variable will kill your FP scanner. If it locks in your app you will lose the ability to unlock the device with the FP scanner.
Use DDMS to kill com.authentec.TrueSuiteMobile and the lock will work again. This might work on 1.8.3 but I'm not sure it works that way. If the application exits with the home button, it seems to also lock it up. I'm looking into a way to avoid this..
I can't register my application, it's failing with code 6 - (System Error)
I encountered this one myself when using my Api key for com.mgamerzproductions.gibbertalk - I changed it to com.mgamerzproductions.gibbertalk.testing and it no longer worked. They did tell me this in the email that it is only for one package - so make sure you choose wisely, or bribe the people giving out the API keys to give you another one. I wish it was more specific (API_KEY_NOT_AUTHENTIC or something)
I'm still having problems. What can I do?
You can use these tags for debugging in logcat:
AMJNI (AuthenTec Mobile - permissions - server)
TrueMobileSuite (some gfx log info - swipe fingerprint screen)
AndroidRuntime (will tell you crash related things, as debugging for errors will produce too much to read at once)
Any other things would be greatly appreciated for all of use Developers so speak up if you have something I don't have listed and I'll add it.
If you want to use the encrypted storage provided by the framework you'll need to apply for the Advanced SDK. You have to give them a description of your app, and it has to be security related (obviously that's the whole point of the fingerprint scanner and they don't want you to abuse it).
If you like the guide, and you are on MotoDev, I wouldn't mind a kudos in the contest http://community.developer.motorola...print-Enabled-Apps-quot-article-in/td-p/17206
RESERVED
Reserved for OP at a later date
Pictures of my use right now (more later)
Spoke to OP, moved to main Android development, as this would be of more interest to the development community in general, as I'm sure other phones will be using fingerprint scanning (and this sdk) in the near future.
Originally posted in the source thread:
heilpern said:
I tried to post in the linked thread, but as I'm a new XDA poster the system wouldn't allow me to.
The INTERNET permission is required, however there aren't any connections made off of the device. The system uses sockets internally and INET sockets are used rather than UNIX sockets.
> Why does it lock up?
> Only 1 app at a time can access the fingerprint scanner.
This should not cause the system to lock up; it should cause your app to delay briefly and either continue with your request or return to you with an error. If you can duplicate some other result reliably, please share details.
> If someone also can upload and create an eclipse project it would be must easier to import and view their source code they post. I tried but eventually gave up cause of so many problems.
The eclipse projects for these examples are very simple -- with the exception of the .project you have everything you need in the example directories. Worst case is you can create a new Android project and replace its manifest, sources and resources with those provided by the examples. Then point the build path at your tsm.jar and you'll be ready to go.
Click to expand...
Click to collapse
What I meant was that if an app is asking for the fingerprint reader (not the app entirely, but actively asking for the FP reader scan), and motorola does something in the background with the FP scanner (on atrix), it can lock it up. This was heavily apparent on Atrix 1.8.3 but in the new update it seems to have been mostly fixed.
Errors: If you bring up the window with anything but lap-verify or get-app-secret, the window will lock up (and i think fingerprint reader will lock up as well - if you return to the lockscreen you'll see it never finishes initializing it) I can attempt to reproduce this error but I want to finish some development I am doing now.
heilpern said:
com.authentec.TrueSuiteMobile drives the UI, directly or indirectly depending on exactly what's going on (indirectly in the case of the lock screen, for example). If this package is killed it will restart with the next fingerprint operation however it will disrupt any currently active verification attempt (causing the requesting app to receive an error -- probably the USER_CANCELED error).
Click to expand...
Click to collapse
I never really kill it except if it locks up. Haven't tested what it returns (perhaps null)
heilpern said:
Here's something you can do to experiment if you're using StoreCredential -- swipe one of your existing fingers (the index fingers) and you'll store data to that particular finger. Swipe a different finger (multiple times as prompted) and eventually (after three swipes if all goes well) you'll be asked which finger you just enrolled (and your credential will be stored to that finger). This new finger can be used for subsequent Store Credential requests (without the automatic training session) and to release data stored with Get Secret... but only the index fingers can be used to unlock the Atrix.
Click to expand...
Click to collapse
Yeah, in the original thread I had that image posted... It's in the framework but it never was used... I'm not sure if it was there for this purpose or was just cancelled at the end because it was incredibly confusing... I don't get why you would need all those credentials. It's not like your phone will get passed around that much. You swipe new fingers just like you would if you were registering a finger, then you choose the finger... but the accuracy of the 'pick a finger' one is pretty bad.
Would love to see a test apk where we can try this out...
Nothing available right now?
My application works with the FP scanner... its not done yet though.
These are the included APK's that are the code samples they use:
Download tsm-apk-pack.zip from Host-A
Will it support HTC Desire HD? It won't right?
The fingerprint scanner is a hardware device, just like a laptop fingerprint reader. Its not touchscreen, unfortunately.
Trolling from my ATRIX 4G on probably the crappiest main US carrier
Mgamerz said:
I can't register my application, it's failing with code 6 - (System Error)
I encountered this one myself when using my Api key for com.mgamerzproductions.gibbertalk - I changed it to com.mgamerzproductions.gibbertalk.testing and it no longer worked. They did tell me this in the email that it is only for one package - so make sure you choose wisely, or bribe the people giving out the API keys to give you another one. I wish it was more specific (API_KEY_NOT_AUTHENTIC or something)
Click to expand...
Click to collapse
I agree that a more telling error code would be a better option. Error 6 is eAM_STATUS_ACCESS_ERROR but that value can be returned for other problems as well.
Note that if a generic API key is needed, TSM-0E08085A-1210171A-001A7465-632E7473 can be used if you name your package com.authentec.tsmgetsecret. You cannot post that package to the Market however if you want a means of creating a test APK with a neutral package name that package/key combination will work.
Has AuthenTec claimed that package name on the market...?
they probably should or someone might take that package...
Mgamerz said:
Has AuthenTec claimed that package name on the market...?
they probably should or someone might take that package...
Click to expand...
Click to collapse
Yes, it's already claimed in an unpublished but uploaded entry.
Hi . question: is it possible to use fingerprint senzor as wake up function? My button is very very hard to push, this function would be great....
Hello frnds,
I was just plain curious when a well known smartphone manufacturer started using the front camera for more than skype n photos. I wondered that my ICS tab has a front camera, a feature called face unlock which uses face features to unlock the device. So what if this camera and some code can be used to add features to the front camera n make it useful. I was also wondering can this data be utilized in other applications, this will open up then environment. Suppore a scroll,its done through touch n drag, our application can send this data to the foreground app i.e a document reader or a browser. The application can spoof it self as an input device in androids input menu. Thus it can do various things by sending appropriate data to apps. Im currently testing on windows using a webcam n some code to track eyeball n do actions through it. If im succesful enough Ill start coding an android app. But a healthy discussion and your views would be appreciated. So I hope ill see some replies. Tkcre.
many ics devices can be made to support face lock easily I don't have any idea about eye ball tracking
I'm studying for software engineering, and I wish to take on a small project involving making an android app.
The app is expected to involve GPS/google maps, the camera and requires object recognition.
Before starting to actually develop the app, I wish to make a proper sketch for how I'm going to do it. I was wondering if the following already exist as freeware and are possible:
GPS- does it return a X/Y coordinates only, or X/Y/Z (meaning, does it tell the phone how high it is above sea level?)
Google maps/Google earth- is it possible to get the app to take information such as a city layout from it? Also, does it include height information for the ground?
Camera and object recognition- the app is expected to "look" using the camera, and needs to recognize objects. The level of object details is not very important, but it should be able to recognize certain things such as roads, buildings, men and such.
Thanks for the assistance,
Raledon
Raledon said:
I'm studying for software engineering, and I wish to take on a small project involving making an android app.
The app is expected to involve GPS/google maps, the camera and requires object recognition.
Before starting to actually develop the app, I wish to make a proper sketch for how I'm going to do it. I was wondering if the following already exist as freeware and are possible:
GPS- does it return a X/Y coordinates only, or X/Y/Z (meaning, does it tell the phone how high it is above sea level?)
Google maps/Google earth- is it possible to get the app to take information such as a city layout from it? Also, does it include height information for the ground?
Camera and object recognition- the app is expected to "look" using the camera, and needs to recognize objects. The level of object details is not very important, but it should be able to recognize certain things such as roads, buildings, men and such.
Thanks for the assistance,
Raledon
Click to expand...
Click to collapse
I know about an android open source app called GPS share, which will give us a link of our current location, and allow to send that location as a SMS or any message(WhatsApp,BBM,etc).
If you want i could give you the link to the app page(if i can find it).
SufiyanSadiq said:
I know about an android open source app called GPS share, which will give us a link of our current location, and allow to send that location as a SMS or any message(WhatsApp,BBM,etc).
If you want i could give you the link to the app page(if i can find it).
Click to expand...
Click to collapse
After talking with a few people, I've come to realize how much of a problem object recognition is for computers, and that even simple tasks like recognizing roads, people and buildings can be a problem. Until I can solve this issue in a decent fashion, I'll have to put the project on hold.
Thanks for the help, though. I'll look the app up if/when I can continue the project.
Hi all,
If you've read the text that USED to exist here before, scratch that. Big Thanks to @Sunius1 for clarifying what I thought was a win. Due to this, I DID find something interesting in regards to the ExtensibilityApp class (Windows.Phone.System.LockscreenExtensibility.ExtensibilityApp). I happened to also find a hidden capability "ID_CAP_SHELL_DEVICE_LOCK_UI_API" (Seems to be a locked CAP because it only works on Emulator. I get a deployment error on my if I try including this capability). I suspected that these two worked together, but I wanted to make sure of this.
Before we get started, read through the documentation from this site: http://msdn.microsoft.com/en-us/lib...lockscreenextensibility.extensibilityapp.aspx.
We have the following methods:
BeginUnlock
EndUnlock
GetLockPinpadHeight
IsLockScreenApplicationRegistered
IsSystemOverlayApplicationRegistered
RaiseToastNotifications
RegisterLockScreenApplication
RegisterSystemOverlayApplication
UnregisterLockScreenApplication
UnregisterSystemOverlayApplication
EDIT: After the release of the Live Lock Screen app, my speculations about the ID_SHELL_CAP_DEVICE_UI_API capability and the ExtensibilityApp object were correct. Thanks to @jessenic for finding out a good bit of info on this with me.
It seems that in order to get this working, we have to add an Extension to the WMAppManifest.xml
<Extension ExtensionName="LockScreen_Application" ConsumerID="XXXXX" TaskID="_default" ExtraFile="Extensions\\LockAppExtension.xml" />
In the LockAppExtension.xml:
<?xml version="1.0"?>
<x:Extension xmlns:x="urn:LockApp">
<AppID>AppNameForLockScreen</AppID>
</x:Extension>
As usual, Microsoft doesn't really give us much in terms of documentation.. Probably because it isn't meant to be used by the normal developer Confirmed: For now we have to actually ask for permission in order to use the cap. As to whether we'll get that granted? Who knows....
All of these methods have no parameters at all, but I can almost guarantee this has to do with having an application that can control the lock screen.
This thread will be for efforts in breaking this open and seeing whether we can create lockscreen applications..
Homebrew Lockscreen Apps:
Lockscreen App by @-W_O_L_F-
There are actually two Windows.winmd files in Windows Phone SDK, one for Silverlight 8.1 apps and one for Jupiter 8.1 phone apps (located in C:\Program Files (x86)\Windows Phone Silverlight Kits\8.1\ and C:\Program Files (x86)\Windows Phone Kits\8.1\). There's only one the phone. And some APIs support only one app type (it's phone limitation it seems: faking .winmd file results in Platform::InvalidOperationException, saying you cannot use that API from this app type). That explains why the one on the phone has more APIs available than either of for single app type.
As for LockscreenExtensibility - it's documented, just not available for Jupiter apps:
http://msdn.microsoft.com/en-us/lib...ows.phone.system.lockscreenextensibility.aspx
Sunius1 said:
There are actually two Windows.winmd files in Windows Phone SDK, one for Silverlight 8.1 apps and one for Jupiter 8.1 phone apps (located in C:\Program Files (x86)\Windows Phone Silverlight Kits\8.1\ and C:\Program Files (x86)\Windows Phone Kits\8.1\). There's only one the phone. And some APIs support only one app type (it's phone limitation it seems: faking .winmd file results in Platform::InvalidOperationException, saying you cannot use that API from this app type). That explains why the one on the phone has more APIs available than either of for single app type.
As for LockscreenExtensibility - it's documented, just not available for Jupiter apps:
http://msdn.microsoft.com/en-us/lib...ows.phone.system.lockscreenextensibility.aspx
Click to expand...
Click to collapse
Well that is very good to know! Thanks for the clarification. The best part is that I was actually able to compile without receiving an error (somehow).
I found something that may be of use in order to get the LockscreenExtensibility working (I just tried on a Silverlight 8.1 app and got access denied).
<Capability Name= "ID_CAP_SHELL_DEVICE_LOCK_UI_API"/> <----. Can't be used OOTB
EDIT: I just tested this in the Emulator and it really IS the capability that the LockscreenExtensibility needs in order for it to work.
snickler said:
I found something that may be of use in order to get the LockscreenExtensibility working (I just tried on a Silverlight 8.1 app and got access denied).
<Capability Name= "ID_CAP_SHELL_DEVICE_LOCK_UI_API"/> <----. Can't be used OOTB
EDIT: I just tested this in the Emulator and it really IS the capability that the LockscreenExtensibility needs in order for it to work.
Click to expand...
Click to collapse
I assume this is the thing Rudy Hyun used to create the lockscreen app at Build?
TheInterframe said:
I assume this is the thing Rudy Hyun used to create the lockscreen app at Build?
Click to expand...
Click to collapse
I speculate that this is what he's using. I bet there's more going on that we have yet to figure out. It also could be that the base class EXISTS, but the full implementation isn't available yet. Who knows.
snickler said:
I speculate that this is what he's using. I bet there's more going on that we have yet to figure out. It also could be that the base class EXISTS, but the full implementation isn't available yet. Who knows.
Click to expand...
Click to collapse
Ah, Yes that makes sense. I wonder if there are any other "half-baked" API's in the SDK?
Edit: I Know it sounds stupid but honestly I think we should have a thread dedicated to finding odd API's (Just found one: Windows.Phone.System.SystemProtection, nothing terribly useful though)
TheInterframe said:
Ah, Yes that makes sense. I wonder if there are any other "half-baked" API's in the SDK?
Edit: I Know it sounds stupid but honestly I think we should have a thread dedicated to finding odd API's (Just found one: Windows.Phone.System.SystemProtection, nothing terribly useful though)
Click to expand...
Click to collapse
there are also some hidden APIs in the current SDK for 3D Touch-enabled Apps!
From WP Central:
Some of the features include APIs for gestures, side interactions and even heat maps.
Crazy stuff.
Believe it or not, some of these APIs for developers are in the current SDK, they're just not visible. What this mean though is developers will have access to this 3D Touch technology for their apps. It also means that Microsoft will have a small batch of third-party apps supporting this 3D Touch technology on launch day.
Click to expand...
Click to collapse
source: http://www.wpcentral.com/microsofts-next-flagship-windows-phone-november-3d-touch
Yea, even though those 3D touch APIs may be available, they're not particularly useful, as they require special hardware to work.
Sunius1 said:
Yea, even though those 3D touch APIs may be available, they're not particularly useful, as they require special hardware to work.
Click to expand...
Click to collapse
That is true. Sort of of a side question though, has anyone made a OEM account and looked over the API documentation there? There maybe some useful things we could learn about WP and maybe further a jailbreak for all WP devices....
TheInterframe said:
That is true. Sort of of a side question though, has anyone made a OEM account and looked over the API documentation there? There maybe some useful things we could learn about WP and maybe further a jailbreak for all WP devices....
Click to expand...
Click to collapse
API isn't much useful as long as you cant really use most of functions due to policies.
ultrashot said:
API isn't much useful as long as you cant really use most of functions due to policies.
Click to expand...
Click to collapse
Ah, Yes that makes sense....
http://www.wpcentral.com/joe-belfiore-announces-new-updates-sheds-details-lock-screen-app
Sounds like there will be a dev preview update to enable lockscreen functionality quite soon. Joe also mentioned keeping the lock screen in memory. So 512 MB devices won't get the functionality soon....
Good stuff. Another question: can apps show the action center? Because I want code an app to show notifications on lockscreen. Thanks
Marocco2 said:
Good stuff. Another question: can apps show the action center? Because I want code an app to show notifications on lockscreen. Thanks
Click to expand...
Click to collapse
something to force the volume/music control on the lock screen to automatically open would be really useful as well
Updated first post with some more data since the Live Lockscreen App debuted yesterday. There's more I didn't get into, but I want others to dig in and find out
I suppose we can only speculate how it works at this point, but if I had to guess, it goes like this:
1. You have 2 projects in your LockScreenApp solution, one for the application to register the lockscreen, and the second one for the actual lock screen application.
2. The former would use ExtensibilityApp APIs to register the the second one, coupled with the manifests so it's all "valid".
3. The second application is just a another app that is able to process input and draw whatever it wants on the screen. That would explain why there's a delay at it starting when you press lock screen button while the phone is sleeping (probably it's a time for .NET to startup? Direct3D app should be able to start much faster).
Although this is only speculation, I think this makes sense, because that's how background tasks work on Windows, at least. I wonder though, why Microsoft is not releasing the APIs to be used in public - are they afraid somebody will make a lockscreen application that will drain the battery fast or something?
Sunius1 said:
I suppose we can only speculate how it works at this point, but if I had to guess, it goes like this:
1. You have 2 projects in your LockScreenApp solution, one for the application to register the lockscreen, and the second one for the actual lock screen application.
2. The former would use ExtensibilityApp APIs to register the the second one, coupled with the manifests so it's all "valid".
3. The second application is just a another app that is able to process input and draw whatever it wants on the screen. That would explain why there's a delay at it starting when you press lock screen button while the phone is sleeping (probably it's a time for .NET to startup? Direct3D app should be able to start much faster).
Although this is only speculation, I think this makes sense, because that's how background tasks work on Windows, at least. I wonder though, why Microsoft is not releasing the APIs to be used in public - are they afraid somebody will make a lockscreen application that will drain the battery fast or something?
Click to expand...
Click to collapse
I don't think its that but most likely the fact that the API is un-optimized, some of the facts you stated (i.e. Slow start up, documentation is lacking) etc... The fact the OS needs to be updated to show a section telling the user what lock screen app has taken over (since the setting page doesn't now)
Edit: Remember what Joe said about keeping the lockscreen in memory and 512MB devices might not be supported for that reason? Yeah seems like they aren't doing that since you can see the resume time for the lo screen is wayyy to much
Sunius1 said:
I suppose we can only speculate how it works at this point, but if I had to guess, it goes like this:
1. You have 2 projects in your LockScreenApp solution, one for the application to register the lockscreen, and the second one for the actual lock screen application.
2. The former would use ExtensibilityApp APIs to register the the second one, coupled with the manifests so it's all "valid".
3. The second application is just a another app that is able to process input and draw whatever it wants on the screen. That would explain why there's a delay at it starting when you press lock screen button while the phone is sleeping (probably it's a time for .NET to startup? Direct3D app should be able to start much faster).
Although this is only speculation, I think this makes sense, because that's how background tasks work on Windows, at least. I wonder though, why Microsoft is not releasing the APIs to be used in public - are they afraid somebody will make a lockscreen application that will drain the battery fast or something?
Click to expand...
Click to collapse
You are correct. Two projects: One is the settings page, which is the main entrypoint of the app when it's opened from the start menu and the second one is the actual lockscreen app.
The settings page uses the ExtensibilityApp APIs to register the second one as a lock screen application. That second application is another 8.1 Silverlight app that uses a LockScreen_Bridge WinRT component that has native access to read what is shown on the lockscreen from the WP Settings item.
It then uses some storyboards to make it do different things as you're swiping up and down on the LayoutRoot grid. It does use a timer so that's where that little lag comes from.
The only background stuff it's doing is latching on to system events ("Start button being touched for example").
I can see where MS would be protective of this. They DID say that they would be releasing a public version of the API at some point. I'm hoping it's not one of the situations that leaves it public only when they've approved you to be able to use it.
It does suck that it's restricted to 8.1 Silverlight though. I could see some Music Apps wanting to take advantage of the lockscreen like this.
snickler said:
You are correct. Two projects: One is the settings page, which is the main entrypoint of the app when it's opened from the start menu and the second one is the actual lockscreen app.
The settings page uses the ExtensibilityApp APIs to register the second one as a lock screen application. That second application is another 8.1 Silverlight app that uses a LockScreen_Bridge WinRT component that has native access to read what is shown on the lockscreen from the WP Settings item.
It then uses some storyboards to make it do different things as you're swiping up and down on the LayoutRoot grid. It does use a timer so that's where that little lag comes from.
The only background stuff it's doing is latching on to system events ("Start button being touched for example").
I can see where MS would be protective of this. They DID say that they would be releasing a public version of the API at some point. I'm hoping it's not one of the situations that leaves it public only when they've approved you to be able to use it.
It does suck that it's restricted to 8.1 Silverlight though. I could see some Music Apps wanting to take advantage of the lockscreen like this.
Click to expand...
Click to collapse
Quite interesting...!
The API in itself is quite powerful, custom lockscreens with weather animations are possible! http://wmpoweruser.com/wp8-1-live-l...amazing-lock-screen-weather-animations-video/
SPEN on a none touchwiz ROM
The most compelling reason for buying an SPen Samsung device to me was the vision and possibility for a paper-free lifestyle.
Moving seamlessly between the paper-free and paper-bound world's is a must along that journey.
You can just about see/feel/ makeout the possibility of everything coming together in a best of all worlds type setup.....
So here it is - a capable device that has all the firepower but none of the vision by its manufacturer oh Well...
I bought a Samsung Note 2014 wifi only device with spen in november 2014.
Don't like touchwiz for its bloat and its gimmicky "locked data" feeling.
Installed Cyanogenmod 12 and then Temasek ROM port.
Please share your current setup.
Specific apps you use, relevant settings and how smooth your setup integrates( screenshot examples etc)
The more elegant and evolved your setup the better!!!
Please use the feature request section. See my "Google's Keep app
Sketch for keep
+
Handraw
Option 2 : Note buddy(Free)
OR Note buddy(Paid)
+ Papyrus app
Option 3 : Fiinote - Google Play Store
Option 4 : SpenCommander ( beta testing stage and paid ATM)[RESIZE=100]
[/RESIZE]
Option 5 : Dionote
This app utilizes the SPen pressure sensitive abilities(Not many apps do)! Well worth of further studying.
Other decent apps that you should be aware of are
Lecture Notes (bought the pro but haven't used it much)
OneNote ( feeling timid to rely on a Microsoft app in the Android ecosystem. Thats because of the politics and conflict of interest that underline Microsofts potential for success on an Androids OS. May be an overreaction or far-sightness/short-sightness blunder on my behalf ... but hey we all live and learn )
XDA:DevDB Information
SPen (touchwiz free) CM12(Lollipop), ROM for the Samsung Galaxy Note 10.1 (2014 Edition)
Contributors
xda_nikita
ROM OS Version: 5.0.x Lollipop
Version Information
Status: Testing
Created 2014-12-12
Last Updated 2014-12-11
Ok here is my setup :
CM 12 ( credit goes to RaymanFX and all contributors) with "google keep" , "handraw" and "sketch for keep" . Launcher(side) with "glovebox"
This gives a sort of "action memo" knockoff.
Need help with :
-SPen driven Screenshot select similar to touchwiz spen screengrab app(lassoo select a portion of the screen and have that annotated in an app like handraw before pasted into google keep).
- browser side copy image for images that get pasted into google keep note as you browse ect(much like the pinterest button on a desktop browser pins the image directly to a board)
-browser tabs session save(which ever browser is best for this kind of thing) on a google drive account with corresponding "google keep note" link inside to restore the saved session would be phenomenal!
- spen touch depth sensors in handraw(or alternative setup)
Any way for "handwritting recognition" in any input box field to be used as a system-wide keyboard input method??
Any ideas?
For apps I use Write Beta. Just get through your prefered paper setting and you will be good to go. Maybe it doesnt have the best UI but it compensates by having the best stroke smothing technology.
To make notes, as many of you above I use Keep.
I am trying to be a developer and i made this app which any of you might find usefull
https://play.google.com/store/apps/details?id=com.BCorp.SPasteAnywhere
But i have to say that i abandoned it because for it to work i need SPenSDK which suck, and because it has some error with touchwiz. Happily i dont have touchwiz anymore and so sadly i havent been able to fix it, it should be fine if anyone want to try it on cm12 with some video glitches that currently bug Rayman's great rom.
The point is, If anyone can find a better handwriting library that doesn't depends on a third party app please tell me and lets make great apps together. I was actually working on an action menu replacement for cm12 but see the information i give below.
To do some great stuff for the tablet on CM we will need the functionality that only this app is giving:
https://play.google.com/store/apps/details?id=com.tushar.cmspen
without that app we can not detect pen dettachment, pen hover button, etc(No gestures like the one getting you to action memo or action menu). There are simply no broadcast of this actions in the system. The free version, I think, also has limited functions so if anyone does a cool app with anything else they would require the user to buy this app; and for it to have a decent pen stoke detection the user would have to add the spensdk from the play store. Can you see the hassle here? I asked @RaymanFX to look into it and add the CM SPen companion principle into cm12 for developers to have a better time doing something.
I just thought i'd let you all know before you get too far ahead of yourselves but the spen isnt actually functioning as an spen and doesnt get recognized as one so therefore the spen sdk wouldn't work witn cm12 due to as one of the bugs described says that "e-pen gets recognized as pointer device" and i'd also like to mention that i don't actually see any development in this post itself and should have been put in the general section rather than the original development or at least be a comment on the cm12 thread itself due to it being related to that
dc959 said:
I just thought i'd let you all know before you get too far ahead of yourselves but the spen isnt actually functioning as an spen and doesnt get recognized as one so therefore the spen sdk wouldn't work witn cm12 due to as one of the bugs described says that "e-pen gets recognized as pointer device" and i'd also like to mention that i don't actually see any development in this post itself and should have been put in the general section rather than the original development or at least be a comment on the cm12 thread itself due to it being related to that
Click to expand...
Click to collapse
Even if the rom detects it as a pointer device it is still detected as an spen withing the kernel. SPenSDK detects its as so and functions properly. If you want proof, use my app, SPaste, and see that spen makes strokes and finger is an eraser. This doesnt happens with any other pointer device like a mouse.
Still, as i said, the spen actions(Hover+button, attach, dettach, etc) are not broadcast to the system(Even if the actions are detected on the kernel) and thus, without the cm12 companion app, these functions are unusable. To add something, API to use them are also on the SPenSDK, but because there are no broadcast, this functions still dont work with the sdk installed.
You are completely right about this been in general.
Pazzu510 said:
Even if the rom detects it as a pointer device it is still detected as an spen withing the kernel. SPenSDK detects its as so and functions properly. If you want proof, use my app, SPaste, and see that spen makes strokes and finger is an eraser. This doesnt happens with any other pointer device like a mouse.
Still, as i said, the spen actions(Hover+button, attach, dettach, etc) are not broadcast to the system(Even if the actions are detected on the kernel) and thus, without the cm12 companion app, these functions are unusable. To add something, API to use them are also on the SPenSDK, but because there are no broadcast, this functions still dont work with the sdk installed.
You are completely right about this been in general.
Click to expand...
Click to collapse
That is where you're wrong, a large majority of applications test to see if the s pen is actually available on the device to make sure there is compatibility yet none of them can recognize the device has an s pen because it isn't giving off the correct aigniture check. For instants give GMD spend control or cm s pen add-on a go and you'll see yet the apps are compatible with the device they don't actually get the correct response that the device has an spen because it's failing a aigniture check, I've even had contact with the developer to make sure that it isn't an issue with the app and cm12 and he sent me a debugging enabled version of the add-on app and it was something with the ROM itself preventing the app from verifying that an s pen is present. Sure a application can read the pressure strokes as I've tested it with sketchbook but the issue itself lies within the ROM having the correct drivers to send out the correct signal that it is in fact an s pen which it isn't because for starters the mouse icon is showing up and due to the s pen SDK it actually uses its own set of files to utilize the hardware rather than the Roms files that utilize it
Pazzu510 said:
For apps I use Write Beta. Just get through your prefered paper setting and you will be good to go. Maybe it doesnt have the best UI but it compensates by having the best stroke smothing technology.
To make notes, as many of you above I use Keep.
I am trying to be a developer and i made this app which any of you might find usefull
https://play.google.com/store/apps/details?id=com.BCorp.SPasteAnywhere
But i have to say that i abandoned it because for it to work i need SPenSDK which suck, and because it has some error with touchwiz. Happily i dont have touchwiz anymore and so sadly i havent been able to fix it, it should be fine if anyone want to try it on cm12 with some video glitches that currently bug Rayman's great rom.
The point is, If anyone can find a better handwriting library that doesn't depends on a third party app please tell me and lets make great apps together. I was actually working on an action menu replacement for cm12 but see the information i give below.
To do some great stuff for the tablet on CM we will need the functionality that only this app is giving:
https://play.google.com/store/apps/details?id=com.tushar.cmspen
without that app we can not detect pen dettachment, pen hover button, etc(No gestures like the one getting you to action memo or action menu). There are simply no broadcast of this actions in the system. The free version, I think, also has limited functions so if anyone does a cool app with anything else they would require the user to buy this app; and for it to have a decent pen stoke detection the user would have to add the spensdk from the play store. Can you see the hassle here? I asked @RaymanFX to look into it and add the CM SPen companion principle into cm12 for developers to have a better time doing something.
Click to expand...
Click to collapse
dc959 said:
I just thought i'd let you all know before you get too far ahead of yourselves but the spen isnt actually functioning as an spen and doesnt get recognized as one so therefore the spen sdk wouldn't work witn cm12 due to as one of the bugs described says that "e-pen gets recognized as pointer device" and i'd also like to mention that i don't actually see any development in this post itself and should have been put in the general section rather than the original development or at least be a comment on the cm12 thread itself due to it being related to that
Click to expand...
Click to collapse
I really like "Write Beta" app. Loved the undo and lasso features.
"Fiinote" is worth checking and is definately the best snote replacement app I am aware of.
CM12 ROM is being worked on by RaymanFX. As a developer he is focused on delivering the Android OS.
SPen relies on RaymanFXs efforts to open spen to app developers.
You still need good apps and user friendly functionality while all the developers work out the OS segment.
To avoid polluting RaymanFXs thread with discussions outside of the OS delivery I've made this thread...
Its meant to give a glancing reference on ways of setting up SPen functionality after you are done flashing CM12( or any other Lollipop based ROM )
The Gold standard would be for all SPen functionality to be exposed on OS level , app developer level passed on to app user level. Only then can the spen be freed from its touchwizz chained existence!:crying:
Android stock keyboard is really good!
*We have decent size keyboard
*We have the accessible but not aggressive voice typing option
( Being a "keyboard and trackpad only" user until recently, I can feel ,"google voice" being currently under leveraged by me )
The only let down when using Spen able device is hand writing input option on the stock keyboard.
"Hand writing recognition" should be available anywhere inside Android OS where keyboard input is possible.
Here is an example mockup Android keyboard that should exist (refer to image)
That Handwriting should be just as understated and persistently available like the "voice typing" icon on stock keyboard today.
I would like to put forward the following questions to the wider community, especially active developers .
How do we port/import a handwriting recognition feature into an Android keyboard?
What are the best hand recognition apps and projects that lend themselves to further improvement or integration?
Is it very difficult to modify stock Android keyboard?
What are the essential pieces that need to come together to make this happen??
Hope this makes sense on one level or another.
What about myscript stylus beta?
{Diemex} said:
What about myscript stylus beta?
Click to expand...
Click to collapse
Yep, it gives the hand writing recognition option to any input field and covers all SPen keyboard points I was after.
Thank you!
{Diemex} said:
What about myscript stylus beta?
Click to expand...
Click to collapse
Another "beef" I got with SPen at the moment is Screenshots.
Taking screenshot segments with SPen able device is a frustrating experience on a Touchwiz free ROM like CM12 at the moment.
Its no fault of the ROM builds themselve.
In fact it is truly remarkable how stable CM12 (Lolliopop) runs and just how fast
RaymanFX's effort is paying dividends to P600 owners(Samsung Note 2014 wifi)!
I wasn't able to assemble a draft paper/document with images as I browse thumbnails and articles without leaving the browser screen....
No way to select multiple areas of the screen and have them imported/clipboard copied as individual selections(check mockup imagery)
OK we have no SPen pressure detection at the moment and SPen is just a pointing device to a toucvhwiz free ROM , fine. All should be sufficient to achieve
SPen Screenshot integration like I outlined in the mockup images.
Please excuse my ignorance and share everything that can be done to improve the SPen screenshot situation!!!
I started trying to get a simple screencapper to work similiar to the one included in touchwiz roms.
What is working:
Taking screenshots - root required
Interception of taps
Selection of the crop area above other apps
Cropping of the screenshots to the rectangular selection
What still needs to be fixed/improved:
Atm you start the screencapper it will intercept all touch events. You basically can't use any other apps and have to somehow kill it. I still have to figure out how to toggle interception on/off. Pressing the spen button while it is touching the screen should toggle interception needed for the selection of the area for the screenshot. Releasing the button should return to a state where other apps can be used again.
Pressure and the button state seems to be working correctly. The mouse pointer is just visual, stylus functionality is working correctly.
I have very little time, I have to study for exams. Nevertheless I'm interested in getting a functional app at some stage.
{Diemex} said:
I started trying to get a simple screencapper to work similiar to the one included in touchwiz roms.
What is working:
Taking screenshots - root required
Interception of taps
Selection of the crop area above other apps
Cropping of the screenshots to the rectangular selection
What still needs to be fixed/improved:
Atm you start the screencapper it will intercept all touch events. You basically can't use any other apps and have to somehow kill it. I still have to figure out how to toggle interception on/off. Pressing the spen button while it is touching the screen should toggle interception needed for the selection of the area for the screenshot. Releasing the button should return to a state where other apps can be used again.
Pressure and the button state seems to be working correctly. The mouse pointer is just visual, stylus functionality is working correctly.
I have very little time, I have to study for exams. Nevertheless I'm interested in getting a functional app at some stage.
Click to expand...
Click to collapse
What app are you using to achieve that?
There is a Mac app Screencapper but nothing on Androd Google play with that name.
I tried using a dozen+ screenshot apps with variable degrees of success. None of them gets me close to a touchwiz ROM like screencapture setup.
Its interesting that the SPen button and stroke pressure work for you.
A few posters on the thread suggested that SPen functionality like stroke pressure and button are not working in Lollipop based roms at the moment.
Are you using a KitKat based rom with CM spen app and the SPen SDK for that functionality?
I wrote the app myself. There are some screenshot apps but I couldnt find one that was designed for spen. Maybe there is one that allows cropping of the screenshot afterwards.
I tested stylus input with cm 12, you can try it yourself. Link is in my signature.
xda_nikita said:
What app are you using to achieve that?
There is a Mac app Screencapper but nothing on Androd Google play with that name.
I tried using a dozen+ screenshot apps with variable degrees of success. None of them gets me close to a touchwiz ROM like screencapture setup.
Its interesting that the SPen button and stroke pressure work for you.
A few posters on the thread suggested that SPen functionality like stroke pressure and button are not working in Lollipop based roms at the moment.
Are you using a KitKat based rom with CM spen app and the SPen SDK for that functionality?
Click to expand...
Click to collapse
Oh, sorry if i didnt explained myself correctly. First of all, pressure, hover and button click work correctly on cyanogenmod, that information is correctly taken by the kernel and given to the system. If an app can work with that information through Samsung or other libraries their app will work as intended just like papyrus, write, wacom, etc.
What does not work, or to express it correctly, is not implemented yet, is the broadcast of some information taken correctly by the kernel that should be sent to the system as broadcasts. These information are the gestures we all know like pen attachment dettachment, pen button+hover, pen double tap, and these broadcasts are the ones that would permit the developer to imitate some of touchwiz main features.
A very silly example of what broadcast like these would create:
hey, the user just double tapped the screen with his SPen, is there any app that wants to open itself when this happens? perhaps you SuperDuperNote app? maybe you TotalyLegitActionMemo app?
Click to expand...
Click to collapse
So there are no broadcasts and we developers have no easy way to act to these gestures system wide, anywhere on your screen and on any app that is opened at the moment just like samsung does with ActionMemo on "button+doubletap", or ActionMenu on "button+Hover".
With this in mind the developer would have to do one of 3 things.
Give up and do apps that only react to EPen information(Pressure, hover, button click) through Samsung or Other SDK(Wacom, Papyrus, Write, Spaste)
Intercept the Spen events with root and be a very skillfull programer to something like our friend @{Diemex} is doing.
Install CM SPen companion app and act to the broadcasts like we should be able to, but be dependent on those free app functions or whether the user want to buy the pro version of the same.
Thank you Pazzu510.
You have covered all angles. The explanation is crystal clear.
I've sent an email to the CM SPen Addon developer to see what his frame of mind is like regarding CM12.
His app had the attach/detached covered ok in CM 11 so maybe he has a good angle on getting the functionality registered in CM12.
xda_nikita said:
I've sent an email to the CM SPen Addon developer to see what his frame of mind is like regarding CM12.
His app had the attach/detached covered ok in CM 11 so maybe he has a good angle on getting the functionality registered in CM12.
Click to expand...
Click to collapse
He has explained that it would be rather easy if these broadcast code would be implemented directly into the rom. You can see the post here, it is a good read.
With the understanding of that, and too have a real impact on how broad the apps based on this can be, the important thing would be to make this changes and commit them on cm code. That way, any device with an spen could install cyanogen mod(or any rom based on cyanogenmod) and access apps intended to use this broadcasts. If it is not that way, our apps would be limited to those devices that run only the roms that make the code available, let it be "Cm12 rayman edition" or anything like that. I dont see this as a great idea because the apps made will have little to no compatibility.
What i see as a viable option, until those commits are on cyanogenmod code at least, is to analyze the code behind CM S Pen add-on(Its in github if i recall correctly) and see how they are looking for the kernel event changes. This would work in any device with spen and asking for root in cm is not difficult at all. Any app could start the tracking service for this events and act accordingly that way. My only worry is that if you have, say, 4 or 5 apps with its own service it would probably drain battery life. Another option would be to have a big project with all the functions in one app, but big projects mean few people to make it work and not many have the knowledge, the time or the passion to do such thing; even less when you think that the target market for this project is not big. Sadly, I count myself as a passionate amateur, I dont have the knowledge to do such things.
CM12(RaymanFX) with build 12/15/2014 has now been tested with CM SPen add-on and Notebuddy.
SPen Attach and detach triggers are detected and broadcast with the latest build!
What are the best apps to use with Notebuddy ??
xda_nikita said:
Developers help, enlightenment and info needed to improve Spen integration in CM 12 dramatically!
Click to expand...
Click to collapse
I recently bought this device purely for the spen functionality and hate touchwiz with a passion. I'm a design student and will be using Sketchbook (the paid version) for the majority of the time. All the applications mentioned are focused towards note taking, whereas I'm primarily concerned with correct pressure sensitivity/stoke accuracy.
I'll flash the rom when I get my hands on one, might donate if all goes well!