Why Microsoft wants to behave this way?
Started playing with Web development for the last three months. Initially started with JQuery Mobile Framework to develop applications.
If at all I go for in search for documentation on an HTML element or anything I get some of the below stuff:
Provided by most browsers, but not Internet Explorer
Provided by many browsers, including Internet Explorer.
Why do they behave this way? They can show that they are unique by providing something that others don’t offer to get attention and look unique.(like Apple, Device Orientation support provided only on iOS Browsers) But why is Microsoft has done the other way?
Do they gain anything this way?
Even though the following is nowhere related to Web, I got remembered this quotation of Steve Jobs
“The only problem with Microsoft is they just have no taste. They have absolutely no taste. And I don’t mean that in a small way, I mean that in a big way, in the sense that they don’t think of original ideas, and they don’t bring much culture into their products.”
“I am saddened, not by Microsoft’s success — I have no problem with their success. They’ve earned their success, for the most part. I have a problem with the fact that they just make really third-rate products.”
5 Things CIOs need to know before mobile-enabling
Join us for a Webinar 
Theme: 5 things CIOs need to know before mobile-enabling
Date: Thursday, June 2, 2011
Time: 11 AM PST / 2 PM EST
“More than 4 billion people around the world now use cell phones, and for 450 million of those people, the Web is a fully mobile experience,” according to the McKinsey Global Institute. This explosive growth of mobile is having a significant impact on B2C and B2B businesses.
Mobile-enablement, however, is more than just tailoring your website’s content to fit a smaller screen. There are several options and challenges involved in going the mobile route. Executives overseeing mobile initiatives need to be aware of the considerations – in order to get the maximum RoI from their mobile strategy.
Come listen to two experienced practitioners discuss key elements that will be crucial in your mobile strategy, on June 2nd, 2011 at 2 PM EST.
Some areas that will be covered include:
Native mobile apps Vs. Mobile web
Design simplicity: where less is more
Mobile as a new channel for growth
Speaker Profiles
Senior Manager – Mobile strategy
Discover Financial Services
In his previous role as Mobile Product Manager at Walgreens, he successfully launched Walgreens iPhone, Android, and Blackberry applications. He defined the marketing message for Walgreen’s iPhone application and propelled it to No.3 in the iTunes Lifestyle category – the app also won in 2 categories of the Webby awards.
Vinod K
Mobile Practice Manager
Aspire Systems
Vinod has hands-on experience working on various mobile technologies, right from programming for Palm OS close to 10 years ago, to leading a 20+ member team for a Fortune 500 company in the retail space recently. Vinod led the team working on their iPhone and Android apps (the iphone was subsequently one of the top 5 apps in the iTunes Lifestyle category).
Xcode 4 buggy
How can you make a developer easily frustrated?
When you are asked not to do things, you have to do with a IDE.
Here are things you should not do with Xcode IDE version 4.0.
1. Dont use Command + Z to undo the changes you have made.
2. Dont use Command + C to copy and Command + V to paste.
3. Dont save the changes you are making to a file.
4. Dont use Command + X to cut some of your code.
If you dare to do , you would be notified with a message “”Internal error” asking for you to either crash or continue.
No one wants our IDE to crash, so choose to continue and you try the same operation and Xcode throws you the same message again. If you keep doing many times, Xcode would hang and Crash.
There are other annoying things with this version of Xcode.
1. You can not use debugger once you have started your application in run mode. You can debug only if you start right away debugging.
2. Most of the shortcuts you have used with earlier Xocde and Interface builder will not work.
Hope to add many more things to the above list, in my tryst with Xcode 4.
Apple’s Greediness
The New updated iOS developer agreement that Apple has devised has created a great uproar among the developers .
The problem is with the new Subscription billing requirement:
11.2 Apps utilizing a system other than the In App Purchase API (IAP) to purchase content, functionality, or services in an app will be rejected
What does this mean?
If an App has a business model where it gets paid from users by any other than in-app purchase, either they have to adopt the IAP and take a 30 % cut or get out of the App store.
This is the Official Press release from Apple:
“Our philosophy is simple—when Apple brings a new subscriber to the app, Apple earns a 30 percent share; when the publisher brings an existing or new subscriber to the app, the publisher keeps 100 percent and Apple earns nothing.”
And what does this mean? Utter Greediness.
Even though, Apple provides the a platform for the App developer or content provider to make business, the customer buys the App for the App developer and its functionality not for of the Apple.
If Apple wanted to crackdown on Applications that supports payment other than in-app purchase, soon in future iOS would be desolated , because of the prominence Android is gaining around the world, and their yet to be made moves as this.
I dont know if this means that, if Apple would not allow credit card, debit card payments in applications in App store and force developers to include in-app purchase. If this is not the case right now, this might be their next step towards making iOS entirely their platform.
Caveats with Titanium Framework
Titanium Framework
Appcelerator Titanium is a platform for developing mobile and desktop applications using web technologies. Titanium Mobile Framework allows web developers to apply existing skills to create native applications for iPhone and Android. Its target audience is Web developers who does not want to learn objective-c or java but wanted to contribute to iPhone and Android development.
Advantages:
1. Titanium supports nearly all of the iPhone, iPad and Android UI controls
2. You can use most of the native facilities of the device like camera, accelerometer to state few.
3. You avoid learning new language and reuse the existing web skill set.
4. it lets you develop the business logic of the Application only once.
5. Most UI components can be reused across platforms.
Disadvantages:
In my opinion, a web developer can not find a disadvantage with the Titanium Framework.
Titanium is for whom?
Titanium is meant for people who never wanted to learn the native iphone and Android programming. If you know to develop applications using objective C and you wanted to develop applications for iPhone then don’t even think of Titanium, the same case applies to Android too. Only if you are lazy to learn a language, you can opt for Titanium.
My Experience:
I put here some of my observations I have had on Titanium Framework during my development.
- Developing for iPhone or Android alone is never a big deal. Because you need not bother about your application’s behavior in the other platform.
- Your application would be slower than if it has been developed in the native way and this would be visible very much with Android. In Android at most cases, for each of your page navigation you will have to finally add an activity indicator, if you have lot of controls in your view.
- Some of the features in Android which was shown to be working in developer reference were not working. Even after being filed as bugs, they were not updated in developer’s reference that it works only in iPhone. For example, “focus” events of the window is handled only in iPhone and never in Android.
- If you wanted to develop application for both iPhone and Android, then you would be spending more time for arrangement of controls in the views or custom cell in Table view.
- For a folk who is new to javascript or does not know the nuances of javascript, the development sometimes can be a nightmare because of the errors you get due to misplace comma, semicolon. But once you start coding carefully, this can be solved.
- Next biggest problem you would face with Titanium is with the Testing of the App in iPhone. It has taken nearly 4 minutes for the application to get loaded in to the iPhone. This was not the case with Android.
- The size of the Application is a big concern here. An iPhone application we developed using Titanium was 5.2 MB in release mode. If we could have done this in Native mode would not exceed a size of 1 MB.
If you wanted to develop an application that is completely data centric, you can go for Titanium but with all the pains I have mentioned. If you don’t know objective C or java, Titanium is a great gift for you. Otherwise you may regret choosing Titanium at later point in time.
After I completed my development of an Application for iPhone and Android in Titanium, I felt that if I could have directly used objective C and java to develop these applications. And this could have given me the following advantages:
- My application could have been faster than it is now.
- I need not wait for Titanium to enable a new feature that arrives with iOS or Android.
All of my experience that I have stated here are specific to my development of the Android and iPhone in Mac OS X.
I have used only Titanium Mobile. I have not used Titanium Desktop to develop any applications.
Links:
http://stackoverflow.com/questions/4211996/how-to-optimize-the-size-of-titanium-based-iphone-app
http://mobworld.wordpress.com/2010/07/28/titanium/
http://developer.appcelerator.com/question/91121/reducing-the-size-of-titanium-based-application
Imageview Problem in Android – Titanium
Yesterday I was working to scaledown the dimension of an image for my Application in iPhone and Android using Titanium. Without any effort I could achieve it in iPhone, but when I tried the same in Android I did not get the result I was expecting. The image was always taking up its original space without getting scaled down.
Finally I got to the solution. In iPhone implementation of Titanium, by default the image is set to be scalable and for Android the it is not scalable.
Setting canScale property to true and enableZoomControls to false did the trick for me.
By Default, enableZoomControls is true in Android. That is why we have set it to false.
Here is the code. Grab it.
var imageView = Ti.UI.createImageView({
width: 40,
height: 40,
canScale:true,
enableZoomControls:false,
image: '/logo.png'
});
PayPal Integration in iPhone and Android
I was curious to know if PayPal would support Credit card Payment using their Mobile library for iPhone and Android. But finally I got to know the fact from a PayPal guy that we can not just do a checkout only with credit card details. We always need a paypal account to checkout.
The good thing with PayPal is that they have officially launched the Mobile Library for iPhone and Android, otherwise developers would have a high time, getting the trust of the users and crossing the big Apple’s Approval process gate. It could have better if their library directly supports the Credit card only checkout.
Let us hope that, they bring that feature sooner.
Opening Doc, Excel, ppt files in iPhone
Once I figured out the way to open pdf files in iPhone and iPad, I was in a lookout for opening *.doc, *.xls, *.ppt files. Finally after a bit of digging, got to know it. Tried the same code in iPad, it did not work..I also tried opening Open Office document files and it did not work.
Here is the code for you.
NSString *path = [[NSBundle mainBundle] pathForResource:@"C.doc" ofType:nil]; NSURL *url = [NSURL fileURLWithPath:path]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; [webview loadRequest:request];
Opening pdf files in iPhone App
I was wondering how we can open pdf files in a iPhone app. And after a bit of digging developer’s reference, got to know how we can open the pdf files.
Here is the code . Grab it.
NSString *thePath = [[NSBundle mainBundle] pathForResource:@"Your File Name" ofType:@"pdf"];
if (thePath) {
NSData *pdfData = [NSData dataWithContentsOfFile:thePath];
[webview loadData:pdfData MIMEType:@"application/pdf"
textEncodingName:@"utf-8" baseURL:nil];
}
Logging in MFC
I often had a necessity to log data from webservice to verify the contents. And thought of implementing a function for that. And the result is here.
void CYourClass::WriteLog(CString sData, CString sFileName)
{
CStdioFile file;
if(file.Open(sFileName, CFile::modeCreate|CFile::modeWrite))
{
file.WriteString(sData);
}
}
