Windows 8 A funny story about development for windows 8

goodintentions

Active Member
You know how people have been complaining that quality apps are few in numbers in the windows 8 winstore? Well, I've been trying to help MS out by porting some of my quality apps over to windows 8.

I've recently ported one of my more useful apps into the metro interface. The app itself is used by both students and professional chemists. A big part of it is it has to be able to print. So, no biggie, right?

Over in the desktop version of it, the printing protocol takes 4 lines of code. That's it. I started earlier today thinking it would be somewhat comparable if not the same. Nope. Nothing from the desktop side worked with the metro codes. So, I began to search online for tutorials on how to write a simple printing protocol. Seems like every developer has been complaining about this. It's too damn hard! MS's sample app on printing is extremely confusing and pretty much useless to me. I finally found a blogger that made enough sense for me to follow. His way to do printing in a metro app took 130 lines of code!

After I successfully get it to print, I realized that his code only worked with 1 page. If there are more than 1 page, the app would crash. So, I had to change his codes and put in an extra subroutine. The result was a whopping 200 lines of code.

200 lines of code to print out a damn document. The desktop version took 4 lines of code to do the same.

That took me a total of 5 hours to add a simple printing protocol to my metro app. I was kinda pissed by this point, so I went online to see if other people have complained about this. Yup, there are plenty of developers who just simply gave up because it would take too much time to do something so simple.

Now, you guys know why there aren't as many quality apps in the MS winstore as there should be. 200 lines of codes just to print out a document without the app crashing.

If MS wants more quality apps in the winstore, they need to remove these stumbling blocks for us developers. That's 5 hours I could have spent on adding more features to my metro app.
 
Now you've got the code up and running for the app printing side of it, run it through the open source platform and see if any of the other developers out there can improve upon it, simplify it and condense it. Then hopefully it can be applied to any other app for the windows store that are being developed.
 
MS needs to learn to do things better. This isn't about me or any developer sharing our codes. This is about MS making an effort to make the API and the sample code make more sense.

When I looked through their sample code, I was confused as hell.

Have you ever tried to read someone else's hand writing? What if it wasn't really his hand writing, but more like scribble? Trying to read someone's personal notes is annoying. That's what the MS sample app for printing looks like. It looked like whoever wrote it intended only for himself to read.

At first, I thought it was just my lack of skills. A simple search online shows plenty of other people having the same problem understanding the sample. Some well known developers tried to add printing to their apps and simply gave up after spending hours to it work.

Someone pointed out to me that perhaps MS purposefully did this to make it harder to print from metro. He thinks MS is following apple's footsteps. We all know that the ipad is a consumption device. Good luck trying to be productive with it. Perhaps MS wants people to consume more than being productive with windows 8? In which case, they can have all the fart apps they want?
 
Someone pointed out to me that perhaps MS purposefully did this to make it harder to print from metro. He thinks MS is following apple's footsteps. We all know that the ipad is a consumption device. Good luck trying to be productive with it. Perhaps MS wants people to consume more than being productive with windows 8? In which case, they can have all the fart apps they want?


That sounds about right....if you've noticed the trend....MS seems to be following Apples footstep quite alot, with regards to developments and deployments. It's making me wonder........
 
You know how people have been complaining that quality apps are few in numbers in the windows 8 winstore? Well, I've been trying to help MS out by porting some of my quality apps over to windows 8.

I've recently ported one of my more useful apps into the metro interface. The app itself is used by both students and professional chemists. A big part of it is it has to be able to print. So, no biggie, right?

Over in the desktop version of it, the printing protocol takes 4 lines of code. That's it. I started earlier today thinking it would be somewhat comparable if not the same. Nope. Nothing from the desktop side worked with the metro codes. So, I began to search online for tutorials on how to write a simple printing protocol. Seems like every developer has been complaining about this. It's too damn hard! MS's sample app on printing is extremely confusing and pretty much useless to me. I finally found a blogger that made enough sense for me to follow. His way to do printing in a metro app took 130 lines of code!

After I successfully get it to print, I realized that his code only worked with 1 page. If there are more than 1 page, the app would crash. So, I had to change his codes and put in an extra subroutine. The result was a whopping 200 lines of code.

200 lines of code to print out a damn document. The desktop version took 4 lines of code to do the same.

That took me a total of 5 hours to add a simple printing protocol to my metro app. I was kinda pissed by this point, so I went online to see if other people have complained about this. Yup, there are plenty of developers who just simply gave up because it would take too much time to do something so simple.

Now, you guys know why there aren't as many quality apps in the MS winstore as there should be. 200 lines of codes just to print out a document without the app crashing.

If MS wants more quality apps in the winstore, they need to remove these stumbling blocks for us developers. That's 5 hours I could have spent on adding more features to my metro app.

I tried to develop an app in C#, JavaScript, and so forth, for Windows 8, before the general release, and their application authenticator for publishing an app is quite harsh. I'd admittedly probably have to take several courses to figure out what the deal is with that thing. The app worked fine, but I was never permitted to publish it. There was no way to even create a simple app that opened up IE on click because this violated some security protocol. I guess this means all content has to be streamed from within the app because they view launching Internet Explorer as a security problem? Quite telling with that. After awhile, I started to become aware that this store was catering, at least right now, to major corporations, and not lone developers. As time goes on, this may change, but I think you will find much more diversity, in, say, the Google App Store.

As for your print problem, I am a bit surprised. The print spooler service that currently exists in Windows saved companies and organizations A LOT of time and money when they finally got it right. You may remember large print spoolers were making use of Novell NetWare, before this was a possibility. This was right up until Windows 2000, and what they have done with shared printing capabilities is nothing short of remarkable. NetWare was often used for things like the temporary image of the system that would revert itself once the user logged out, so that no permanent changes were made to a system. This can actually now be done with Active Directory and Group Policy to a great extent through Windows Server.

Was the 200 lines of code needed to literally do the print or for the app to be published in the store, would be my question. :rolleyes:
 
That sounds about right....if you've noticed the trend....MS seems to be following Apples footstep quite alot, with regards to developments and deployments. It's making me wonder........

I honestly hope MS isn't really going down that route. As a developer, I've dealt too much with braindead users who think facebook IS the internet.

One of my apps allow people to do very complex chemistry calculations. It's the only one of its kind that does what it does, and it does it well. My earlier versions allowed the user to just type in the equations and amounts of chemical mixtures. Then I got a hate mail from a user who said the app didn't work. I asked her to send me a screenshot, and the first thing I noticed was she input everything in backwards. In chemistry, if you want 3 carbon atoms, you put in C3, not 3C. When working with formulas, C3O2 means you have 3 carbon atoms and 2 oxygen atoms. She was putting in 3C2O. I had very clear instructions on how to enter the formulas correctly bold printed on top of the screen, and she still messed up.

So, now all my apps are completely locked down as far as what you could input. I had to put in subroutines to prevent the user from putting in nonsensical formulas, like 2 positive ions together and 3.4.6 (that ain't a real decimal number... 1 extra period).

My favorite was this guy who insisted my chemical balancer didn't work. I asked him for a screenshot, and immediately I saw the problem. He put in C+O -> O2. There's a reason why they call it an equation. Both sides must have the same elements. I even had a subroutine against that. Whenever the user put that in, a popup message would inform them that they need to have the same elements on both sides, and that C was missing on the right side.

I swear, kids these days only know how to use facebook.
 
Was the 200 lines of code needed to literally do the print or for the app to be published in the store, would be my question. :rolleyes:
I understand your skepticism. I really do. I wouldn't have believed this myself had someone else told me this and I never had to do printing in my app.

200 lines of code was what was necessary to (1) print at all and (2) be able to print multiple pages.

The test app that I used to write out the printing code I was only aiming to print out a string. The desktop version took 4 lines of code. Get it? To print a string in metro, you need about 120 lines of code. But if the string is longer than 1 page, then that's not enough. I ended up with 200 lines of code just to be able to print a string in multiple pages.

Just do a search on the internet for C# xaml metro print.

Good thing I moved to C#. Because I'm a C++ developer. The C++ code to print in metro is a lot longer and almost unreadable. I almost had an aneurysm trying to decipher their C++ sample.
 
Yes, in this case we are looking at two different problems. In my instance, I got a call from Microsoft asking me how my application was doing after I had several hundred validation problems for publication to the app store.

Overall result: failed
Report generated at 9/18/2012 3:25 PM

Security tests: passed
This test scans your app for malware and unwanted behaviors. Learn more

Technical compliance: passed
This tests your app with the Windows App Certification Kit. You can also run this the test locally from the SDK. Learn more

Content compliance: failed
This test evaluates your software for content compliance with Windows Store Certification Requirements. Learn more

Your app doesn't meet requirement 1.1. Learn more
Commons reasons why apps fail this requirement:

  • The value or usefulness of the app is not clear.
  • The app is only valuable or useful in a subset of the languages that it claims to support.
Your app doesn't meet requirement 1.2. Learn more
Questions to consider:

  • Does your app require a user account? If so, you need to include a test account in the Notes to Testers field.
  • Can users make purchases through the app? If so, you need to provide a way to test those purchases.
Commons reasons why apps fail this requirement:

  • The app includes non-functional sections or contains placeholders (labeled "coming soon", "more to come", "not available yet" and so on) for primary user scenarios.
  • The app doesn't work on all the architectures that it claims to support. For example, if you state that your app works on any CPU, it must work on all architectures, including ARM.
  • The app description is misleading or vague.
  • The app description uses screenshots or statements that imply features that don't appear to be implemented.
  • The app doesn't respond to "play" and "pause" keyboard events to allow users to control audio playback.
  • The app description doesn't explicitly state any hardware or network requirements.
Your app doesn't meet requirement 2.4. Learn more
A common reason why apps fail this requirement is when they redirect the user to the web browser to complete one of their primary scenarios.

Your app doesn't meet requirement 4.1. Learn more

Windows7Forums.com: Certification report

Overall result: failed
Report generated at 9/18/2012 3:40 PM

Security tests: passed
This test scans your app for malware and unwanted behaviors. Learn more

Technical compliance: passed
This tests your app with the Windows App Certification Kit. You can also run this the test locally from the SDK. Learn more

Content compliance: failed
This test evaluates your software for content compliance with Windows Store Certification Requirements. Learn more

Your app doesn't meet requirement 1.1. Learn more
Commons reasons why apps fail this requirement:

  • The value or usefulness of the app is not clear.
  • The app is only valuable or useful in a subset of the languages that it claims to support.
Your app doesn't meet requirement 1.2. Learn more
Questions to consider:

  • Does your app require a user account? If so, you need to include a test account in the Notes to Testers field.
  • Can users make purchases through the app? If so, you need to provide a way to test those purchases.
Commons reasons why apps fail this requirement:

  • The app includes non-functional sections or contains placeholders (labeled "coming soon", "more to come", "not available yet" and so on) for primary user scenarios.
  • The app doesn't work on all the architectures that it claims to support. For example, if you state that your app works on any CPU, it must work on all architectures, including ARM.
  • The app description is misleading or vague.
  • The app description uses screenshots or statements that imply features that don't appear to be implemented.
  • The app doesn't respond to "play" and "pause" keyboard events to allow users to control audio playback.
  • The app description doesn't explicitly state any hardware or network requirements.
Your app doesn't meet requirement 4.1. Learn more

This kind of rigid authentication is probably preventing hundreds of potential developers from publishing useful apps. The idea of an app store, especially when you're publishing a free app, is that the community gets to decide if its horrendous or not, and will rate it up or down. I'm not sure the Windows App Store behaves in your way. I also noticed how complicated it was, due to the XML formatting requirements, as well as the review process. So I am not sure how useful these apps can be without a dedicated team of developers. I just pulled that from an old save because I had poured hours of time into the thing, and was ready to fully commit myself to developing the full blown Metro app, but after this many problems, for just publishing a few lines of code, I had just about had it. The primary function of the app was going to be to stream RSS in the Metro/Modern UI format in a windowed interface from one of my websites. But before then, I was going to publish the app with a simple presentation and link that would at least get you to the site in IE - this was not permissible, even though it WORKED fine in Visual Studio and in a regular build, they would not publish it. I do not have formal training in C#, but I was willing to dedicate a lot of time towards this project. After getting this report over and over, even after minimizing as many issues as I could, I would get a new report back with things stating "The app description is misleading or vague."

This was simply not true. So that was the end of that.

As for your problem, I am truly sorry you have experienced a similar, albeit different situation. A large company developing a Metro app will usually have a full team and major funding going towards it. This is the difference and it is why you see an app like Netflix on there, which would probably never survive the automated authentication, seemingly fast tracked into publication. At least thats my take on it any way.
 
As for your problem, I am truly sorry you have experienced a similar, albeit different situation. A large company developing a Metro app will usually have a full team and major funding going towards it. This is the difference and it is why you see an app like Netflix on there, which would probably never survive the automated authentication, seemingly fast tracked into publication. At least thats my take on it any way.
You are correct. Metro Netflix would never have passed the first step, the automated one. In one of my apps, I had to add in an intro page to get it through the first step. Then it authenticated fine after.

My current project is a very expansive project for educational tools. It is one of a kind. I made sure no one else had it before I started working on it. And I'm developing the desktop and metro versions parallel with each other. I sent out some samples to some schools and a couple professors wrote back asking if I was available to give a presentation in their classes.

I stopped developing for android because it is supersaturated with fart apps. And I want to be more serious with my apps. Android devices are toys. Windows still has monopoly on serious tools like autocad.
 
i am too sure on one thing that they are just copying Apple footsteps in regard new ideas and developments .. and it is coz they have gone mind blank
 
Back
Top