Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 1 year ago.
Improve this question
Most IBM (and some Dell) laptops have built-in accelerometers to stop any moving parts during a sudden fall, but I was unable to find a standardised Windows API to access this data. I assume that each manufacturer would provide a driver to interface with the sensor.
Which popular laptop brands come standard with accelerometers accessible from an API and which libraries should I use to access the data?
Does an API* exist to abstract away the differences between different manufacturers? I am aware of the Windows 7 Sensor API, but I would like support for XP and earlier.
Most reputable notebook vendors have accelerometers to park the hard drive head if the notebook is accidentally dropped or is abruptly impacted by another object (i.e. when a certain acceleration threshold is exceeded). For example, my HP has its "HP 3D DriveGuard". However this technology is embedded low-level, it seems to work even if the OS is not loaded, so I suppose it is in the BIOS. I suppose that it is exposed just an ACPI way to enable or disable this technology. So, even on Windows 7 with standardized sensor APIs it is not accessible as a standard accelerometer like in a smartphone. Maybe in future if market demands it (but I don't think so).
This won't work for all manufacturers, but after much searching (I've been wanting this feature myself), I found somebody who wrote a driver wrapper for the accelerometers in HP laptops. If your laptop supports HP 3d DriveGuard or HP ProtectSmart, then this driver should let the accelerometer show up in the Windows sensor list.
32-bit driver installer
64-bit driver installer
example application (with source!)
Tested it out on my HP laptop and it installed without a hitch. The example program works, but it's pretty slow to respond. I don't think this would work well for high-precision needs (such as gaming), but it might work if you just need some slower orientation data.
Note that this works by exposing the accelerometer to the Windows sensors API. The sensors API provides a standard method of accessing any type of sensor regardless of the actual hardware installed. There's more information about the Windows Sensor Platform on MSDN.
Related
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 11 months ago.
Improve this question
I'm planning a client-server product for a tiny, low-volume, high-cost vertical market. One of the components of the product will be a desktop application, simple to moderate in complexity, for data entry and uploading to a central server from remote PCs and/or Macs via SOAP. The server is a Java web app.
Customers will be choosing their platform (Windows or Mac) based on what the client app runs on, so my options are wide-open here. However, I will be developing on a Mac and have a strong allergy to MS-specific technologies (sorry). The app will not need to run on any non-desktop-computer devices and I have total freedom to say it will support X but not Y or Z without any negative consequences (quite the luxury, to be sure).
I have a lot of experience in server-side development but very little in desktop GUI stuff, and am evaluating my options on the client - basically what do I want to commit to learning over the next 6+ months. I have server-side Java experience as well as a brief dabble in iPhone development, which went OK.
Overall I'm looking for:
Ease of learning & development
IDE support
Healthy surrounding ecosystem (libraries, tools, help, etc.)
Quality documentation
My options as I see them, in rough order of how I'm currently mentally ranking them:
Java Swing
Cocoa
Java SWT
JavaFX
Adobe AIR
XULRunner
Am I leaving anything out?
If your application has to support both Windows and Macs, I would suggest you avoid using languages which need compilation. In that case, Java, Python, and CS4 will be your candidates. Personally, I would go for Java Swing since it's proven to work on a number of platforms (not flawlessly tho') without the need of extra libraries. Some people complain about Swing, but my experience with it isn't that terrible. Well, maybe it was because I don't use it for huge and complex interfaces. If you choose to go with Swing, try to see if you can hand-code the interface yourself, it isn't that terrible, but it does have a learning curve. Good luck!
If you are an experienced web developer, you can try Electron, which allows you to develop desktop apps using HTML, CSS and JS. Electron apps are cross-platform and will run on Windows, Mac and Linux.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
Microsoft offers a bunch of incentives for developers (like MSDN) and startups (like BizSpark) to get them to develop software for the Microsoft platform with less investment. MSDN for example allows me to test my software on every version of Windows in existence without buying a full license to that version. BizSpark is even better, giving all the software essentially for free, as long as it's used for the startup's business purposes.
Does Apple offer something similar?
P.S. So far the only legal way of testing our software on OSX that I found is to buy a Mac Mini, which costs almost as much as MSDN and doesn't come with a tenth of the benefits (as far as software development is concerned).
The closest thing I know of is the Mac Developer Program which gives you access to various resources but specific to your question you gives you access to software currently in development for compatibility testing etc as well as other compatibility testing tools. You still need a mac to make use of many of the benefits but if you are a member you do get a hardware discount. I'm not aware of any service that is as extensive as MSDN and as the features mentioned are only available to ADC Select or ADC Premier accounts. I can't give you exact details of everything an overview can be found at http://developer.apple.com/products/mac/program/
You can access many resources with a free ADC account though non of the features anywhere near what you are talking about are in the free account.
Edit: I forgot to add that there is a "compatibility labs" feature that allows you to test your software against different setups and os version etc. It says on the site:
"The Compatibility Labs feature a wide range of Macintosh configurations, allowing you to test on a multitude of Apple technologies with various versions of Mac OS X software, including Intel-based or PowerPC Macs, Xserve, iPhone, iPod and much more."
With Microsoft, you can get their "Visual Studio Pro With MSDN Pro" subscription, which is currently about $800 a year. That provides operating system installs (which you have to unlock online, ten at a time), technical documentation, and the Visual Studio development system. I think you might get a few developer tech support incidents with that.
With Apple, you can join the ADC Online program for free; that gives you complete technical documentation and the XCode development system. Then you can buy Snow Leopard for $29 and do unlimited installs because there's no key - or if you buy a new Mac, you get it for free. You can don't get any developer tech support incidents, but you can join a boatload of free Apple-sponsored email lists, online developer forums, and so on which their internal engineers are pretty active.
In both cases, you still need hardware. For Mac development, that's $600 for a Mac Mini which includes the development system and unlimited OS installs. For Windows development, that's $800 for the OS installs and development system, plus whatever else you spend on hardware.
I pay the $800 a year for the MSDN/Visual Studio subscription. I also pay $499 a year for an Apple Select membership, which provides extra goodies like a discount on Apple hardware, beta versions of the OS, and developer tech support incidents.
MSDN was a pretty good deal a number of years ago, when they bundled Office with it. Now that it's mostly Visual Studio plus Windows installs, not so good. These days, I think Apple's offerings provide much more value for the money - especially the free ones - but YMMV.
OS X ships with all of the dev tools on the install disk. An ADC select membership ($500) is cheaper than Visual Studio or an MSDN subscription, as far as I can tell.
I don't know of any BizSpark-like program on the Apple side.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 4 years ago.
Improve this question
To run untrusted code at home I use a VMWare virtual machine. I want to find an alternate lightweight sandbox API for running untrusted applications, without the overhead of installing VMWare, or any other kind of end-user virtualization tool like that. (Edit: I don't want it to host an OS - I want it to run untrusted apps).
Ideally the sandbox would be (or could be made) transparent so the app running in the sandbox doesn't display any extra chrome or features. (Don't they do this in Parallels on the Mac)
The Windows .NET developer side of me wishes for an API so instead of booting up a special GUI, I can script scenarios for it.
It would be like how the Google Chrome web browser contains its own technology to sandbox scripts running from the Internet to protect the system. Google doesn't need to distribute VMWare with their browser and yet they achieve sandbox security for apps.
Edit:
Looking for something lightweight like Google Chrome contains with features like greatly restricted file/network/UI access, low privileges, etc. Not looking for running/hosting its own OS.
Google's Chrome is using 4 windows mechanisms to achieve this:
A restricted token
The Windows job object
The Windows desktop object
Windows Vista only: The integrity levels
Have a look at:
https://sites.google.com/a/chromium.org/dev/developers/design-documents/sandbox
They have a detailed description of what they're doing.
No, there is not.
I mean, you can use a different Windows account (with whatever permissions you consider appropriate), but then you need to be comfortable that the untrusted app can't break out of that. But you do have that same problem with VMWare (it has had bugs in the past that let you break out). Best thing to do is run in a Virtual Machine.
You may also be interested in Google's Native Client (also known as NaCl). This is a project that aims to be able to run (verifiable) x86 code inside a sandbox.
I have not implemented this..but my $.02.
You can consider implementing a Windows station. A windows station is basically a security boundary to contain desktops and processes
Only one Windows Station is permitted for Console Logon (Winsta0)
http://msdn.microsoft.com/en-us/library/windows/desktop/ms682573(v=vs.85).aspx
You can achieve, process, Windows Object, and ACL Isolation on a per station basis.
Some API functions used in Windows Station are listed here:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms687107(v=vs.85).aspx
An Overview of Sessions,Desktops and Windows Stations.
http://blogs.technet.com/b/askperf/archive/2007/07/24/sessions-desktops-and-windows-stations.aspx
There is a CodeProject example here with source:
http://www.codeproject.com/Articles/21352/Virtual-Desktop-A-Simple-Desktop-Management-Tool
I would recommend using API Monitor to debug Win32 API Calls
http://www.rohitab.com/apimonitor
hth
You can use Invincea FreeSpace or the free Sandboxie. Not sure if any of them are scriptable or not.
These are called Containment applications, i.e., sandboxes. You can read about it here: https://www.fas.org/irp/congress/1997_hr/h970211gm.htm
In a "sandboxing" question of mine I was pointed to Sandboxie.
I does not solve my problem at all but maybe it is interesting for you?
I don't know if it has an API but a quick google indicates that it is at least somehow automatable via command line.
Unfortunately, for Windows hosts your options are extremely limited. However, on Linux hosts, options such as mbox and capsicum are available which do what what you describe - i.e. lightweight, application level sandboxing.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
[This is a community Wiki so do not bother voting it down if it seems like a poll question. It is.]
Will Adobe be able to translate its success in Flash Penetration (although also questionable, see my post here) to Adobe AIR? Is Adobe AIR the "next big thing" in a desktop platform, just another player (along with what else?), or will it die a silent and unimportant death?
Unfortunately no, until they sort out, at the least, the following issue:
When you visit a site that needs Flash and you haven't got Flash installed, you get a very standard looking popup asking you if you to install it, and mentioning in the notes that it may not be safe to install an untrusted plugin.
When you visit a site that lets you download an AIR app, it pops up big red screaming warnings about the imminent trashing of your computer, the theft of your identity and a life of torment[1]. Unless, of course, all the bedroom programmers decide to cough up the ongoing cost of certification.
User encouragement FAIL. Hobby developer encouragement FAIL. Technophobe terrorficiation avoidance FAIL.
I love AIR, but I don't know what they were thinking with the installer. Laywers' office moved closer to the developers' over at HQ or something?
[1]Actual message may vary.
Simple answer NO
It's not fair to compare Flash's web success with Desktop or obvious reasons.
Flash developers were already using flash to develop desktop applications and now they've got a better framework. It'll be used by so many people but I don't it ever will be that popular.
I think that AIR will be around for a long time, it is great for web geeks who want desktop versions of the web applications.
I doubt that it will ever reach mainstream appeal, the masses need flash to watch their funny YouTube videos, but they'll never think to get AIR in order to use TweetDeck. The desktop apps they use are the ones that are already installed on their machine.
If AIR has improved incorporation of HTML content, it will be very successful.
If the ability to render HTML content has not been improved, then my humble opinion is that it will be mixed.
No.
The competition on desktop application market is much bigger, and users are expectiong more functionality and performance from desktop application than from web application, and AIR is just not there yet wrt performance and desktop capabilities.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I need to test my website on Windows, now and in the future. I don't yet have Windows. I just need the software, but don't mind purchasing hardware to get the software. What's the cheapest ethical way to do this?
Some options:
buy a used computer on eBay. Will I be able to upgrade to future versions of Windows if I also upgrade the hardware, including everything but the hard drive? I'm considering a $100 box on eBay with Windows XP Pro.
buy Windows XP Pro (about $140 on eBay), and pay for upgrades as time goes by.
use a screen capture service on the web. (These are either too expensive or don't offer enough control, in my experience).
UPDATE: I bought a sealed version of XP Pro from a reseller on Amazon.
VMWare Server is available for free, and is available for Linux. You'll still have to pay for Windows, but you won't need additional hardware.
Also, consider that in addition to XP, you may also want to test on Vista and Windows 7. Virtualization is a good way to go here.
Another free solution is VirtualBox, from Sun, which is able to install on Windows XP Home (which VMWare Server will NOT). Possibly not what you need given you are non-Windows, but in any case it's another option.
A home Windows licence only costs that much if you buy a shrink wrap copy. The version bundled with new PCs (OEM) is much cheaper - if you are willing to buy the hardware as you say, the cost of the Windows licence could be as little as $25 of the total cost.
For $299 you can get a good netbook; This one has 160GB of harddrive space, Windows XP Home, 1GB of memory, and is plenty fast for web browsing (I've also run SQL Server for testing on one upgraded to 2GB). If the resolution becomes an issue (1024x600), just plug in an external monitor. As a bonus, it's a tiny machine, so it doesn't take up lots of space like another desktop.
EEE 900HA XP
AS mentionned, you can get the Microsoft free VPC Image. Then you convert them to VMWare Images (the server version is free) with VMware vCenter Converter
Download Virtual PC: http://www.microsoft.com/downloads/details.aspx?FamilyID=b07c9ef0-265a-4237-ae3b-25bc8937d40f&displaylang=en
and use this:
http://www.microsoft.com/downloads/details.aspx?FamilyID=7c2b5317-a40f-4e86-8835-d37170c5923e&displaylang=en
Edit: And if you don't have Windows, Virtual PC may work on Wine.
browsershots.org should work for basic needs, although it just shows how it looks, not any of the functionality.