Why can't initiate events from the band? - mobile

I've been playing around with the Microsoft Band SDK for a week or so. I got my HR showing on my custom app, I have start and stop buttons triggering MP3 playing on my phone. So now the question I ask myself is, "Ok lets make useful band applications..."
Well it appears you can't do much from the band, which makes it pretty much useless to develop for...If I have to launch a phone app just to get input from the band, that defeats the purpose, I will just use the phone app.
They really need to have a very lightweight listener on the phone for band events to trigger application launching.
Thoughts on workarounds?

What type of phone are you developing for? On Android at least, you could make an application on the phone that has almost no UI but is completely controlled via the band using tile events and a service that handles their broadcasts. With just that, there are hundreds of possibilities.

Related

HTML 5 Mobile Web App Workflows? --- (Advanced Questions)

I'm beginning to build my first mobile web app and I'll be using a combination of html5, css3, javascript, and at the end I'll be wrapping it up with Phone Gap (Cordova) then deploying it out to both the Android and iPhone marketplaces. I won't be using anything else like java, php, or c#.. This is strictly front-end based, so the questions below are in retrospect to the this and will play a big role in creating my mobile workflow.
As I'm fairly seasoned in the above front-end technologies, mobile apps are a different world, which leaves me with some questions...
Mobile App Questions (Workflow)
1.) Should I build it with 1 page (single page app) or multiple pages? I know I could us an AJAX solution here to give the "1 page" look/feel, but what's the smartest solution?
2.) Ad placement, in retrospect to 1 page/multi-page apps, I assume multiple pages would be a smarter choice? The more refreshes the better for CPM or is this considered bad practice? ...or can I achieve ad refreshes with smart AJAX placement inside a 1 page app?
3.) Gestures vs. buttons and css - I've been building responsive websites for the last year and have noticed that I can achieve a lot of effects with css alone (i.e. hover, focus, active, overflow... to name a few). When is it necessary to use gestures? Hammer.js seems to be doing a pretty good job of these effects and I'll definitely be taking a closer look at that plugin.
4.) CSS3 Animations vs. Jquery Animations vs. WebGL Animations - What's best? According to this link, CSS 3 wins... But I've heard about css3 REALLY slowing things down (i.e. using border-radius). What's safe to use for a mobile app?
5.) The "back" button on android phone, I assume it's used just like a web browsers back button.. So if I build a "1 page app" that could be a bad choice if a user clicks "back" then immediately exits your application. I'm sure I could use an alert box to question the user first, just curious on if their is any recommended solutions?
6.) The "settings/options" button on an Android phone, I assume it will do nothing if I don't tell it to... But, if I wanted to tell it to do something how could I?
7.) File System - What's the best way to access the file system (opening media, saving media, saving media to "custom app folder name", sharing media to facebooks/twitter/instagram, accessing contacts, texting, email, etc...), Since I'm only using front-end technologies, what's the best ways to handle this? It seems like I've read somewhere that Sencha and/or Phone Gap have JS solutions for this.., what's your preferred way and how does it actually work?
8.) Testing - When I start implementing all of these "File System" commands, how on earth do I test this? I'm of course coding on a computer, Will Android and IOS emulators really do the trick or will I have to manually load my mobile app to a server and check? Is their a way to test locally with my phone? (that'd be cool :)
9.) Performance - I know performance is key with any application but ESPECIALLY mobile apps. I use jQuery (hey, I'm a UI guy :), and I know I'll be using a few other smart scripts so mobile phones will play nicely (SouthStreet Progressive Enhancement Workflow)... but how much is TO MUCH?? In the future if I wanted to use more powerful js libraries such as knowckout.js or angular.js, how would this effect the performance of a REAL html 5 mobile app?
These are the questions that are running through my mind right now. If anyone has some good knowledge of a tutorial that explains these things or if anyone can point me in a good direction I'd really appreciate it! I also hope that these questions will help other poor lost souls like myself ;)

Port an OpenLayers application to mobile devices

After making a duration/cost estimation, I'm about to start developing a desktop application using OpenLayers. I've never had experience on it before, but have the support of some coworkers who do.
Now we have to estimate the time and effort it would take the same application to be viewable in mobile devices. I know the existence of openlayers.mobile.js, but nobody in my company has ever worked with it before.
I know it has some advantages over the normal OpenLayers library, such as pinching for zooming, and so. But, does it has any blocked capabilities? I mean, if I write code to draw a line on a layer in the desktop application, change the simbology of a layer, add a buffer arround a polyline, etc.. will it still work with the mobile library?
Is there funcionality in the desktop version that is not in the mobile one?
I'd need to know before estimating what can I offer in the mobile version, and how hard will it be to get so.
See examples tagged with mobile:
http://dev.openlayers.org/examples/
The next OpenLayer versions will probably have better mobile support as this is something many users are interested in.

Are there any good captchas specifically designed for mobile apps?

Is there anything that is less intimidating than recaptcha for mobile apps? My app is built with JQuery Mobile and most likely will never be available on the desktop. I am hoping there is a more visual captcha that would not require typing. So far most visual captchas I have found seem too large for a mobile app. I am mainly looking for something that is visual and small enough to fit within the average mobile screen. Any suggestions would be appreciated, I would even be willing to build something from scratch if someone has a good idea.
I don't know if you are using HTML5 or not, but there is a pretty cool captcha that I've used called MotionCAPTCHA. What it does is it presents a shape and the user traces the shape with their finger on their mobile device. Its pretty cool. I've used it with Android and it works pretty well. It requires jQuery and HTML5.
Damn, that MotionCAPTCHA link appears to be dead. I found this question looking for similar things to what we're working on at my current company.
We have a HumanDetect mobile SDK trying to solve a similar problem. The overall idea is we grab sensor data from the phone so we can determine "bot or not". You ask the SDK for a token, then send that token along with your REST request, and then that token can be validated. If everything works as expected only a mobile device in the hands of a human should produce a token that validates as "not a bot".
It's native code, not using the browser. For the end-user's point of view, it is transparent, the user isn't asked to perform any action.

How does Silverlight programming on the Window Phone 7 differ from browser plugin?

I was talking to another developer recently and we started to discuss Window Phone 7 development. Their thoughts, from what they had heard (i.e no hands on knowledge) was it was really just Silverlight development. My reaction was that I see a lot of posts these days regarding Silverlight that call out being for "Windows Phone 7" so there must be some distinctions between the two.
So what I'm wondering is what are the differences between developing for WP7 v. the browser plugin.
The things I can think of, but seem obvious are:
WP7 Silverlight version isn't the same SL 4.0 but more like SL 3.5+
the hardware is different (memory\cpu)
I assume there are some different controls
you need to take into account the form factor
Not discounting the above list, which are important, but what else is different when developing a Silverlight application for WP7 v. browser plugin?
Thanks
There are a lot of technical differences and sure there are plenty here who give you bullet list of these. However there are really just a few real differences that make a big difference to how you develop apps for WP7.
Its a touch interface people
Quite a few apps I've played with from the market place seem to have developers struggling to grasp the concept of a touch based interface. Its clear that many are still using the left mouse down event when they ought to be looking for a "Tap" gesture. This can be frustrating for users trying to "flick" and find they've "clicked" instead.
So make sure you are using a gesture based framework (toolkit has one) so you don't annoy the users.
Your app will tombstone
WP7 guards its resources jealously. At a moments notice your app may be deactivate as the search screen or start screen is invoked. Volatile state of your app will be lost. WP7 API includes a number of ways of keeping key small chunks of data when your app gets "tombstoned" so that when the user returns to it, it should be able to restore near enough the same state it had before. However this isn't done auto-magically you have to code for it.
Again some of the apps in the market place don't handle this well and when you have an Omnia 7 which has a seriously sensitive search button that can be really frustrating.
Network access and other services are intermittent
If you are developing a connected app you need to cope gracefully with changing network access or loss of access all together.
Read the manual
Whilst there are plenty of resources get devs up and running real quick the devil is always in the detail. I recommend you at least start with reading Fundamental Concepts for Windows Phone which will cover some of these issues.
TBH there are a lot. Some of them:
Touch input vs Mouse clicks
Sounds and music
Silverlight 4.0 "/content/song.wma"
Silverlight for Windows Phone 7 "content/song.wav" (mind the slash)
Navigation philosophy
WP7 SL has two threads by default. One (compositor thread) runs all animation, second (UI Thread) runs the rest.
Controls have very diffrent default behavior and look
and many other OS realated
Better than any explanation, you should refer to the official website.
Silverlight for WP has support for (according to the same doc):
Hardware acceleration for video and graphics
Accelerometer for motion sensing
Multi-touch
Camera and microphone
Location awareness
Push notifications
Native phone functionality
It doesn't have regular COM bindings and it has somewhat limited access to reflection, among all restrictions.
For a complete list of features supported in Silverlight for Windows Phone, read this document.

Possibilities for full blown silverlight applications

Since the launch of Silverlight 2 I was expecting a lot of full blown Silverlight applications popping up but still there seem to be little evidence of this. Does anybody know of such applications out there in the wild. And also what would be the obvious applications you would develop in Silverlight. I would say mail clients are bad examples as they just as well could be written as a web/ajax app. As Silverlight is far more powerful than web+ajax possible candidates should be impossible/akward implementing as a web/ajax app.
The ones that comes to my mind is
Photo and imaging editing apps
Reporting applications
Office applications, Word/Excel...
Edit:
Added from posts
Games
The point isn't that the app need to fill the whole screen just that it isn't just a small part of a webpage, or you could call it a full blown application running inside the webbrowser, only using the webbrowser as a host.
I think the Medical app that Microsoft itself developed shows pretty well what could be achieved with silverlight http://www.mscui.net/PatientJourneyDemonstrator/
As for image editing then as I understand its a bit difficult as Silverlight lacks a Bitmap API to be able to do per pixel image editing...
Edit:
I noticed you added Word/Excel to your question and there comes the problem that Silverlight doesn't have a rich text editor built in and there hasn't been real good examples of custom implementations. There is one http://www.codeplex.com/richtextedit but I haven't seen any applications that actually use it.
I'm working on one in the medical domain.
This started as an update of a Mac classic application but due to the amount of work involved, broadened to considering other toolkits. I convinced them to go for an initial WPF desktop port to be followed by a Silverlight version.
I don't know one so far, but I could imagine that it could be used in a kind like the fullscreen video playback on youtube.
How many fullscreen desktop apps are there? Most application don't need the entire screen. If you don't want to be distracted by menus and taskbars and so you go fullscreen. Another type of applications that can use fullscreen are games.
You are limited in fullscreen to certain key presses such as arrow keys, tab, enter, and space so this rules out some of those types of apps. They have done this for security reasons so an app can't hijack the screen and record the keypresses, but I wish they could come up with a scheme to sufficiently warn the user then allow it if they consent.
An application Microsoft seem to like to show case is the AOL mail client written entirely in silverlight.
Personally I follow the rule is if you would not write it in flash you would not write it in silverlight preferring AJAX in most cases. In the past most large flash application have failed such as the flash word processor (cant remember the name) while AJAX enabled applications such as google documents have taken off.
Finally I believe until moonlight (linux and mac support) has been released and more general users have silverlight downloaded developers will be reluctant to use it widely even for smaller apps and gadgets.

Resources