I would like to connect a kinect (sorry) to a PC so that users can interact with my webapp via gestures. I don't have a clear idea about what level of programming is involved in order to achieve this, but a JavaScript API would be ideal (Java would also be tolerable).
I've had a look at DepthJS, but the installation/setup alone has almost defeated me. At a minimum I need the user to be able to move the cursor and click, but ideally I'd also like them to be able to use smartphone gestures such as pinching.
Is there an API available that provides these features, can be installed/setup relatively easily, and can be programmed with JavaScript? I don't know if this makes any difference, but I'll be doing the development on Ubuntu.
Kinesis leverages web technologies developers already know best HTML/CSS/JavaScript. So you can reuse your existing code and existing team to build gesture enabled applications on top of Kinect for Windows SDK
Zigfu provides a browser plugin called ZigJS for Kinect and will enable HTML/JavaScript Kinect apps using hand gestures.
OpenKinect is an open community of people interested in making use of the amazing Xbox Kinect hardware with our PCs and other devices. They are working on free, open source libraries that will enable the Kinect to be used with Windows, Linux, and Mac.
Don about that
At a minimum I need the user to be able to move the cursor and click, but ideally I'd also like them to be able to use smartphone gestures such as pinching.
You`ll find many examples about Mouse cursos tracking. I think that connecting mouse to kinect is one of the first that kinect developer is trying to achive. This is very simple thing. You just connect cursor with one join, track him and scale it to monitor resolution :)
But I'm not sure that you want it . Even as a minimu. I remember that on channel9 I was watching movie about websites controlled by kinect. This technology exists for 100% and it's preaty stable. So you need just to look there.
IMO focus on api`a/frameworks for that. Cause connecting mouse to kinect just for using this on websites has many disadvantages
Microsoft released new SDK 1.8 with Kinect.js library last September. I'm sure this is what you need http://blogs.msdn.com/b/kinectforwindows/archive/2013/09/16/updated-sdk-with-html5-kinect-fusion-improvements-and-more.aspx
Related
I recently purchased a Yuneec Breeze quad-copter drone that uses an Android and iOS app with its own WiFi connection as a controller.
I am looking to write a Java application that performs the functions of the Android app with Game Controller support (the Breeze Cam app uses the touchscreen which means my big thumbs cover the streaming video) but am running into a roadblock.
While being proficient in Java, including network functions, I find myself woefully uninformed as to how to capture and read the network traffic between my phone and my drone. Its simply a skill I never needed until now.
Any place to help me get started?
OR -
Since I'm writing this in Java would de-compiling and hacking away at the Android source be a more viable option?
If so what decompilers are recommended?
In my experience these apps tend to be written in proprietary code. Android may be an open-source project, but the apps written for it don't have to be. It's unlikely you'll be able to write your own code to control the drone unless Yuneec provides an API/SDK to do so.
A quick Google search yields this thread on their forums: https://yuneecpilots.com/threads/api-sdk.745/
It's not much info, but it looks like you're SOL. Sorry.
I have a great idea for an Android app, but as I'm only familiar with php/js, I'm uncertain of which approach I should choose for creating it. The app will be based on a google map with a lot of position markers. There won't be any fancy animations or other heavy resource-demanding activities.
As I see it there are three different options:
Read up on Java and program the whole thing in Java
Create the map activity in Java as a mapview and then use webviews for the other activities (which can easily be scripted as html5 webpages.)
Script everything as a webapp (not really an option, as this is not a real mobile app imho.
I'm most keen on using no. 2 as I'm quite familiar with html/php/js/mysql. Have to read up on the html5 specifics, though. Questions:
I need access to GPS and camera hardware. Is that acheivable in webviews?
How complicated is it to pass variables between js in webview activities and java in other activities?
How big a difference in performance can I expect if I use option 1 vs option 2?
Other thoughts?
Kind regards,
Anders
You can choose number 2, but as we are talking about an android phone, you might want to get really accurate coordinates for your map, and you can only achieve this by accessing your phone GPS, through webviews the best you can get is the location trought the device internet IP adress, wich doesnt lead to a very accurate geo position.
The best choice is a 100% java application in my opinion.
1) Yes it's possible, but as commented it will be less accurate and probably slow.
2) Not complicated. Painful if you need loads of interaction between a webview and native app. Using a Javascript Interface that can be set up from the native app. You can basically inject javascript in a webview's html.
3) Heterogeneity of performance depending on device. Because your implementation will be based on the device's browser you can expect to get really sluggish behavior for older devices. Anything to do with HTML events (Dragging, Tabbing...) will have a knock on most devices, from my experience.
4) As #vodich comments there are other party frameworks. My benchmarking on PhoneGap and other js-based options is that they're a waste of time if you are looking at developing a professional app. I haven't developed on Adobe AIR but find a pain the need to be installing plugins to get native functionality (access to sensors, camera, etc) Mobile is all about fast, responsive behaviour. HDI is your finger, user is fast, so app needs to be fast.
EDIT: So hell yeah! Java FTW!
Albert.
4.Other toughts?
Yes, if you really want to make a great Android app, you should be using only Android and specific Android UI components, and give it a native look and feel. And regarding 1,2 yes it is possible, I would say not so complicated to just integrate them, but I think you'll eventually get in big problems.
Learn Java and write your application natively.
Webviews might allow you to use your php skills to present something to the user, but it's entirely one-way - you'll not be able to interact with what's inside.
The Android developer site offers fantastic documentation and jumping from PHP to Java isn't greatly difficult, though you'll need to get used to strict typing and "real" OOP.
Other thoughts? Don't go down the PhoneGap/Cross platform toolkit road - it might allow you to write applications for multiple platforms and using your current skills, but in the end you get a subpar app that doesn't feel right on either platform and doesn't fair well as future versions of iOS and Android are released.
I just had an idea for a cool website, but it would require an application that is fairly similar to the Google Maps interactive map. I was wondering what it was made in?
Is it a Java applet or a Flash application? Or something else?
Thanks a lot
Javascript. Lots and lots of javascript, with JSON for loading new data without refreshing the entire page.
If you'd like to know more, there's quite a community revolving around Greasemonkey that specialize in extending/reverse engineering the google maps codebase.
Another option for your mapping app: Program it it Java building off NASA's free WorldWind geospatial API. You could release it either as a standalone app, or as a JApplet that runs within browsers. The latter simplifies distribution and versioning.
Google API is Javascript. It is also available in Flash.
Bing map is using the same sytem and it is available in javascript or silverlight.
You may also be interested in openstreetmap (free alternative).
If you want to build a tile system from the ground, the easier is to use flash. You will avoid cross browser issues, and easely target large audiance. (I made one long time ago before gmap was out).
If your application require a map, you can use either Map API and build your application on top of it. Be aware that some kind of application and some uses require a licence fee and the entry ticket is quite high ($10k for gmap).
For the client side they are using the Google Closure Library, with a lot of extra javascript on top.
Rolling Thunder has had the flyby capability for many years. You load a gpx file then you can fly over or just slightly above group and can control the rate you fly and can pause and look around. It works on windows or the Mac OSX. You can find the Windows version at http://www.myuniportal.com/download.html Download the Map login version and then open a Map child window the select the foot button on the Map child window. You download a gpx file then press play and it will start at one end of the trail and fly over it.
I am working on a project under which i am going to control lights of one floor of building through the server pc on the same floor using JAVA and C programming.I have almost designed the things but I want to check whether my design is upto the standards or not.
I would like to know if there are any such products/projects going on in the market,or any reasearch papers.
I am not asking about all those hobby project links,i want something that has been implemented on larger scale.
What do you mean by controlling lights? On/off?
There are X-10 devices available in market, which can do such type of things.
Most of home automation system uses those. They can easily communicate with PC.
You can go though this for more details: http://en.wikipedia.org/wiki/X10_%28industry_standard%29
Where I work we have several touchscreens next to each machine, press, laser, etc. I was wondering if it was smart/possible to take advantage of the android or the java me sdk's to perhaps use their advanced pointing gestures?
What are the touch screen currently running on? Most likely they are proprietary software. If they are running on Java or as a second display to a running PC, then you may be able to harness this. In the factory I worked at, all the screens were coded in embedded C - general standard for machine operating touch screens.
You may be out of luck - especially since the screens are not running Android.