Are Windows Phone 8 (and by extension Windows 8 Metro Apps) required to adhere to the Microsofts Design Guideline? - html

After a thorough search through the Microsoft Documentation i wasn't able to find a conclusive answer to the Question, wether or not an App published to the Windows Store has to look like a Metro/Windows Phone App or if it is allowed (but obviously discouraged) to have apps look like Ports from other Operating Systems. This Question obviously becomes very important when writing Cross Plattform HTML 5 Apps.
Have i overlooked something in the Documentation? Do you have any experience in this area?

My understanding for the phone is that in theory you can do what you want but within certain parameters. So if you want your app to look like an Android or iOS app with the back button at the top, that's fine. You don't have to use panoramas or pivots if you don't want to. You don't even have to use the set fonts if you don't want to.
But you cant start recreating desktop style windows drop downs, and other things that really wont work on a phone.
You also have to ensure your app still functions as a windows phone app. So the back button must work even if you have an on-screen back button.
For Windows 8 apps, I believe there much more strict. Pre 8.1 all apps had to use the search button on the charms rather than implementing there own. Since 8.1 the search button requirements have changed. Don't know about any other restrictions.
There's certainly no requirement to use flat colours rather than gradients like you would get on other platforms.

Related

Visual Studio for Mac adding a new Project Item type

The context is that in a Xamarin.Forms project, I want to right-click and add an item from VS in the usual project content menu as maybe an entry called "Add Image Asset", let's say a raster or SVG image, and have it programmatically add those to the resources folder in Android and the Assets.xcassets in the IOS and Mac projects. Maybe it could even size or resize the input image or vector assets to fit into different dpi sizes, which would cut down on a lot of front-end redundancy.
So, an extension would have to be created I would think.
On VS for Windows this isn't such a problem, but be it that the Mac version is Monodevelop-based, is what I want to do even possible, and how?
Firstly this is something that is built-in into MFractor so you might want to take a look (you can request a free trial to see how it works). If you are not willing to spend money on such a tool then I believe you can try writing your own extension. This article should be a good starting point.
If I were you I would try using MFractor with a trial license so you can decide whether it's worth the money or not. In my opinion, it's a must in XF development (it has so many nice features), but I can understand that there are companies that are not willing to spend money on it. If you are interested you can contact Matthew for more details.

Windows Phone 8 Picture editing

I work with Windows Phone 8. I want to be able to take a button, tap it and load a picture from the phone into a window to edit it. Can someone please direct me to where I can find info on this or tutorials? I'm not asking someone to do this for me, just help on how to do it myself.
Welcome to StackOverflow! Your question is a bit too broad for StackOverflow, next time please try to focus on a smaller problem. "Windows Phone 8 Picture Editing" is too general.
But I know it is a hard topic to start on, and there are not many resources about it (especially compared to iOS). If you are not good with Windows Phone app development, I'd first recommend some easier examples.
Anyway, here is a simple app that demonstrates setting an image onto a view from a local file: http://developer.nokia.com/Community/Wiki/Loading_local_image_file_on_Tap_events_in_Windows_Phone
If you want to choose an existing photo, it is even easier. You can
follow the instructions at this link:
http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh394019%28v=vs.105%29.aspx
To take a photo, you can use the camera capture task, which is very
similar to the photo picker. Here is how to use it:
http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh394006%28v=vs.105%29.aspx
If you need a more advanced/custom camera, you can implement your own
camera. A relatively simpler example is here:
http://msdn.microsoft.com/en-us/library/windowsphone/develop/microsoft.devices.photocamera%28v=vs.105%29.aspx
If you trust yourself, a much advanced example is here (I also
followed the same tutorial for creating an advanced photo filtering
app):
If that is too hard, you should definitely take a look at the Nokia
Imaging SDK for Windows Phone 8. It has many built-in filters that
anyone who is interested in making a photo editing app would like:
http://developer.nokia.com/Develop/Windows_Phone/nokia_apis/imaging.xhtml
If you still need more, or if you want something more lightweight and
smaller than Nokia Imaging SDK, just look at
WriteableBitmapExtensions that enables you to perform simple
operations: http://writeablebitmapex.codeplex.com/
When you are done with the actual image editing/programming, you should consider the user experience and total integration in more general.
To extend the phone to make your app a fully-featured editing app, head over here: http://code.msdn.microsoft.com/wpapps/Photo-Extensibility-Sample-db289044
This also explains the topic on extending the editing section in greater detail: http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj662932%28v=vs.105%29.aspx
I could write hundreds of lines of code directly here, but it wouldn't have meant anything. I hope these links help you (and many others) as a starting point for image editing on Windows Phone. But remember to ask more specific questions next time :)

What technologies should I use to build gmail extensions

I'm looking for some advice on what I "should" research for a particular project I've been asked to keep in mind. I've been doing so for roughly 3 days by exploring various Google technologies, but none of them seems quite right.
I need to put together something for gmail that's roughly equivalent to something I've put together for Windows Outlook. I'll explain in brief therefor what I've done for Outlook users, to give you a feel for what I'm looking for. I put together an Outlook C# AddIn that when loaded by Outlook on startup adds a number of clickable tabs, buttons, and other assorted interface elements to the Outlook interface. When you click them the C# code in my Add-In is invoked in various ways to carry out various activities, like archiving the email message that's currently selected in a remote database managed by one of our web applications. It does this by calling a variety of Outlook C# APIs that are available to any loaded AddIn, to extract or manipulate various Outlook "objects". Another thing it does on a button click is bring up a web browser the AddIn creates from a .Net class "webbrowser control" instance, essentially adding chrome to the IE "engine". It also adds what it needs to to the DOM of that web browser to make a large number of Add-In C# functions callable by javascript code that might be running in pages of that browser, essentially giving our web applications a way to "ask" my AddIn to create Outlook contacts, tasks, messages etc on behalf of that application. The gist of it is that the UI I add to the Outlook application can be used to make various web service calls to our applications (based on the state of various Outlook "objects" made visible/manageable by way of the Outlook C# API), and the state of the Outlook application can be manipulated by javascript code running in web application pages that happen to be loaded in the web browser it creates.
I need to support "similar" functionality with respect to the altogether different gmail beast (rather than a Windows application a browser based web app). I feel a bit like I've been spinning in circles the last few days, while investigating. I began by researching gmail Sidebar and Contextual gadgets, to add some roughly equivalent UI of my own to gmail, but found fairly quickly that I can't really get to any gmail APIs using them, only try to shoehorn what I've got into a set of triggered gmail "behaviors" supported by contextual gadgets, which I came to realize isn't really sufficient to support what I want. Eventually I navigated my way to the set of developer pages describing Google Apps Script supported functionally, which seemed for a time like "the way to go" to provide me with hooks into gmail APIs. I played a bit with them, making a web app script to collect the subject lines of all my gmail messages and dump them into a UI also built by the script, just to get an experimental quick feel for how things fit together. The script works, but it seems pretty slow, taking roughly a minute to collect and display just 57 email subject lines. And I can't really figure out how to get any script built UI into the gmail user interface. I tried building a side bar gadget with the URL of my app script referenced (with no HTML or javascript in the content tag body at all). An area is allocated to the gadget ok, but my script UI never appears in it. After playing a bit unsuccessfully to get my script to run in an iframe in a completely different context, just experimenting again to see what I might be able to do, I'm beginning to get the impression that some security related caveat prevents it from building/displaying its interface in either an iframe or a gmail side bar gadget, though perhaps I'm just missing some essential piece of information.
My question is a bit big I know, but "should" I be looking to other Google technologies to build the sort of thing I have in mind, or am I "roughly" following a tenable track. I'm looking for some rough architectural advice I guess, some hints about what maybe I should further explore.
With Google Apps Script you cannot add anything to the Gmail interface. Putting it simply, it will not do what you want.
Now back to your problem, if sidebar and contextual gadgets are not enough for you. The only solution I see where you can really manipulate the page is via an add-on/extension/script installed on the users browser.
This approach is powerful, in the way that you can change the page as you like, but has its shortcomings as well. First, and more obvious, it's somewhat browser dependent and installed locally on a browser. Meaning that if the user switch computers or browsers, he'll need to re-install your add-on.
Also, you're somewhat dependent on gmail's "internal" structure. I say "somewhat" because that depends on how you coded your app. But they may make a change and break your app instantly, without any notice, since gmail's html-css structure is not a "published API".
Well, that's my 2 cents. I hope it helps.
Use JSF and rich faces. this can give u a google gmail like looks and development with this is very easy and fast.
Happy Coding

Desktop app/widget development using web technology stack

I want to develop a desktop application/widget, and would love to use a web technology stack. so I can...
Reuse existing skills
Run on multiple platforms (OsX, Windows)
Update application code without having the user upgrade (part/all of the code gets downloaded from the web)
Running in a browser is probably the best option, but one thing that is getting in the way is the browser's chrome (frame, tabs menus etc.) and background, as I want to create a transparent application (e.g. a semi-transparent, round clock that would display on top of other apps).
I'm thinking that a custom version of a browser (chrome or firefox) is probably the answer. All I would need to do is have a shortcut like:
...\chrome.exe -transparent -no_chrome ...\mywidget.html
Seems to me like a fairly obvious need, so before I consider forking chromium, I'm thinking there must be something like this already.
I know there's http://awesomium.com/ ($2,900 license cost), but it is an overkill as I don't need to embed a browser into a desktop app, API and all, and the cost is prohibitively high for a low-cost, limited distribution app.
There is also http://mozillalabs.com/chromeless/ but it doesn't seem actively maintained.
In addition, for both options, the installation overhead is huge (installing a full-fledged browser for the sake of running a widget).
Any suggestions? (please not Adobe Air - I want to use a standard web tech stack)
Take a look at this discussion for several options
http://news.ycombinator.com/item?id=2829126
-FT

Is it possible to make part of the browser transparent to display underlying desktop/windows in a web app? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 3 years ago.
Improve this question
I am developing a web application (meant to run work as a rich client and able to afford requiring any (even nightly build) version of Firefox of Chromium).
The application interface background is meant to be transparent (showing underlying windows or desktop). How can I achieve this? Following standards does not matter but would be nice.
Primary target platform is Linux.
UPDATE addressing comments and answers received to the moment of 2010-07-07T01:44Z.
Technically it's nothing about code interaction and breaking the "sandbox". It's about window composition. I even think it can be implemented pretty easy in a compositive window manager without a browser even knowing of this - just replace some useless colour (for example "fuchsia" was widely used for this during Windows 9x age) with the underlying layer content.
Politically, this can and should be a restrictable function (like local file and webcam access, for example), which can be allowed for trusted intranet applications (local web-tech-based rich client applications seem to be a trend beginning - Firefox and Chromium implement more and more features to facilitate this) and forbidden for unknown 3-rd party websites (but this would require more complex interaction between a browser and a window manager).
The reason why would I like it is that I want to build a cross-platform (Linux, Windows, Mac), zero-install, fancy-looking rich client application (not meant to be served as an Internet website) with web technologies (like HTML5, CSS3 and JavaScript). I even will probably seek to use some browser-window-less tech to run it (I've heard about Mozilla Prism and XulRunner, KDE and Windows offer to use HTML for desktop widgets, Chromium is meant to offer something alike, etc.)
This is not possible "currently", but there's no technical reason why a browser couldn't provide a proprietary API for this, using non standard html/css/js.
However, that's what it would take, a browser to actually implement this functionality and then expose it as an API, and even then it would be browser specific.
UPDATE (as some people have perhaps misunderstood my answer???):
I'm giving technical context to the question. Of course noone's ever going to implement this, but I'm saying it's technically possible.
Also, doing this would not break the sandbox model. The browser itself (forget an API for a second) could implement transparency any way it wanted. Once it that it could hook it up to it's Javascript engine, and create a stupid call: Chrome.Element("").WeirdTransparency()
UPDATE to Questioner's Update:
to your point:
The reason why would I like it is that
I want to build a cross-platform
(Linux, Windows, Mac), zero-install,
fancy-looking rich client application
(not meant to be served as an Internet
website)
AIR kinda covers 90% or your requirements. It still needs a small install, but apart from that, you're running...
This is possible in Electron. By setting a transparent background on the body.
I'm sure browser developers would need a lot of "inspiration" - aka $$$ to do this. It's currently not a feature that a whole lot of people are looking for.
Since standard compliance is very high on the priority list for all browser developers, making this out of the box would be a problem. Namely because there is no CSS/HTML support for it, and the standard is to have a white background. This means that they would need a custom "flag" somewhere in the markup to tell it to switch off the white background.
This would be exclusive to the browser that implements the "feature" and anyone else using any other browser would not be privy to the it.
Somehow you can get the background image of the desktop, set it your html background, and code any app in it. when you do this concept with active desktop in desktop configuration, I get to see this. ( I maximize the web page and lock it - to make it feel like my desktop )
For getting the background, I am putting the location of that in my PC right now. But I think there should be some programmatic way to do it.
This works for our local desktops. But the idea you are talking about, you definitely require Prism like thing. But Firefox looks like it stopped that project for all. (I keep the dump of it in my PC, though). So Recent users would not have prism even if you guide them to install it on their PCs.
And then, This works if the image is full sized to fit the desktop. Otherwise, We have to repeat it, and the whole desktop looks absurd. I often try to write AIR ( Adobe RIA platform for the Desktops.) apps for my taste of eyes.
I think you should try learning Adobe AIR. In fact, it supports all open technologies. I am not any Adobe employee though :) in case you think I am promoting AIR.