Best browser for testing under Safari Mobile on Linux? - iphone

I have an iPhone web app I'm producing on a Linux machine. What's the best browser I can use to most closely mimic the feature-limited version of Safari present on the iPhone? (It's a "slimmed down" version of WebKit, which is more limited than one might think.)

A used iPod Touch for US$150 (used, in Seattle). It's either that, or the iPhone simulator running on a Mac. If one is specifically targeting "iPhone web app", the cost should be budgeted into the project.
Barring that, use desktop Safari. That will still require a Windows or Mac box. The rendering engine is the same, so I imagine it's as close as you're going to get on the desktop.
On the other hand, what are the problems you are trying to avoid? Mobile Safari is pretty good at rendering most web sites I call up. There are guidelines for development, and avoid media such as Flash. If you don't have the hardware, borrow it for sanity checking when you're done. That's the route I'd go if I absolutely didn't want to spend the US$150.

Related

Is there any benefit to buy a Mac over Windows PC just to make and test HTML5 web apps and sites for iphone even if I'm already having iPhone?

I know native app development for iOS is not possible on windows but for Web Apps Development it's possible on all OS.
Is there any benefit buy a iMac or Macbook over Windows PC just to make and test HTML5 + CSS3 Web apps and sites for iphone? If I'm already having iPhone.
As I already have iphone and ipad so i think I don't need Emulators of iOS SDK.
1) Can having Mac improve productivity in making Web Apps not Native apps?
2) Are there any better Web Development tools available on MAC to make Mobile Websites and Web Apps for iPhone compare to windows?
3) Currently whenever I want to test something on iphone safari I upload first all files into my ftp (online) then i open the url from iphone safari. But If I buy mac and install Apple SDK, can I run local html files directly on iPhone emulator.
Note: My question is not related to making iOS native applications.
If there are any better tools, it's not worth the cost of a Mac. You're best sticking with your PC, especially if you've never used a Mac before (or if you've not used one often),
Simple things like the window controls being on the "wrong" side of the window and not doing the same thing as their window counterparts ("maximise" is not the same on Mac) can cause annoyance and cost time.
Testing files locally isn't exactly the same as remotely, and the emulator will not match the iphone, as the user agent strings are different. Also the simulator is designed for native apps primarily so I'm betting the Safari on it is not exactly the same as on a device. Basically you can't beat the device.
To be honest (I am a mac fan and always have been) if you are switching to mac for just for testing purposes it really wouldn't be worth it. You said in your question that you have a an iPhone and iPad both of those can connect to a local network and you can preview on them. Testing iPhone and iPad event on the iOS emulator really... sucks. You dont get any of the touch events or the slides so you really do need the real thing. I just finished developing a full HTML5 webapp for the iPad/phone and I had to go out and buy an iPad for testing; the simulator would not cut it at all.
Now on the other hand if you want to switch for a development environment I have always been a fan of OSX. For two main reasons
The fact that the development tools
for mac are amazing, Coda, TextMate,
Sequel Pro, and CSS Editor alone
make my computer worth it.
It's UNIX, if you are a web designer
or developer who does not dabble in
unix then this does not matter but I
manage servers all over the world
for about 30 different clients and
the fact that OSX is UNIX underneath
makes getting in and out, scripting,
and moving files sooo easy. Try scp
with putty... it's no fun.
I hope this helps,
TL;DR version: For testing don't buy one it's not worth it. For the full package do it.
No. if you are already comfortable using a PC then stick with it. There aren't any better web development tools on the mac then the pc (personal tastes aside).

Can I successfully do iPhone/iPad website development/testing on Windows?

Can I successfully do iPhone/iPad web development (not native apps) on Windows, and without having an iPhone/iPad device?
I.e. work like PSD-to-iPhone-optimized XHTML/CSS layout.
I’m interested to learn about and make iPhone/iPad optimized websites. Any tips? How different will it be from desktop? What’s different other than the smaller screen?
From experience I will say the only true way to test for the iPad is to test on an iPad. I have been developing a site in html5 specifically for an iPad and we initially used the iPhone to test. The drag function we had implemented with jQuery had worked almost perfectly on the iPhone but after the client had tested on the iPad they came back to us and said the function did not work period and they were correct.
I guess this could change depending on what type of development you are doing. From experience I would say either A. Make some trips to the apple store B. Make friends with iPad owner C. Buy and iPad
yes for an ipohne emulator... try MobiOne.
It's a good application to test the pages in iphone like environment.
http://www.genuitec.com/mobile/
I don’t think you can really do iPhone/iPad development successfully without an iPhone/iPad at all, whether on Windows, Mac or Commodore 64.
If you’re serious about iPhone/iPad development, how could you not try your software out yourself on the devices it’s going to run on? Your clients are going to want code that works on the iPhone/iPad. You need an iPhone/iPad to check that it works.
if your developing a web app then i think you can use this: http://ipadpeek.com/
The answer is: Yes you can absolutely do iPhone and iPad website development on a Windows PC.
However, you really should/must test the result on an actual iPhone/iPod Touch/iPad. Especially if you are integrating in any way with special device features like the dialing feature of the phone. (Yes you can have phone numbers in a webpage trigger dialing when you tap on them.)
However, you can do the bulk of the development on Windows, testing the WebApp in Safari or Chrome, which are the most fully compliant HTML5 WebKit based browsers out there.
Also highly recommend using an HTML5 touch framework like jQuery Mobile or Sencha Touch. This will go a long way to ensuring that your WebApp is optimized for the screen size and touch gestures of the mobile devices.
Remember that you can't deploy a pure WebApp to the app store, only download it from a website. You'll need a native wrapper like PhoneGap for that. And to compile a PhoneGap wrapped WebApp you'll need XCode on a Mac.
But there's a lot of power in adding your WebApp to the home screen on iOS. No native code involved and you get a full screen webapp with a home screen icon, loading image and no browser toolbars. Highly recommended.

Develop a website for an iPhone without having iPhone/Mac

I need to develop a website which will be used exclusively on iPhone and iPad. I don't have those devices, neither do I have a Mac.
What are the possible free solutions for me to be able to test the website during development?
The most obvious one would be to use an iPhone SDK, but since it costs $100/year but since it is available only for Mac, it is not a solution in my case.
Download Safari 5 for Windows, enable the Developer Menu features and change the User Agent to Mobile Safari iPad or Mobile Safari iPhone. This will let you see how your website looks when an iPad or iPhone renders it. Just make the window smaller to get the full experience.
If analyst predictions are right, there will soon likely be an abundance of iPhone 3G devices on eBay as lots of people are eligible to upgrade to iPhone 4 tomorrow. Picking up a cheap 3G may be the best solution to your testing requirements.
Or you can test it out at an Apple Store if your website is accessible over the internet or available on a laptop with an ad-hoc WiFi connection.
You can test your website in any browser, but yes, mobile browser probably behave different at some points.
If you cannot find a mobile web browser simulator for iPhone than the "cheapest" alternative would probably be an iPod touch.
Update:
You might want to have a look at iBBDemo:
iBBDemo2 - Cross Platform iPad and iPhone Simulator
You could try using something like:
www.testiphone.com/
Recommend you use jsconsole
Remotely debug a mobile web app
jsconsole.com is a simple JavaScript command line tool. However, it also provides the ability to bridge across to other browser windows to remotely control and debug that window - be it in another browser or another device altogether.
In fact, mobile web app debugging is so damn tricky, that I gave up, and decided to build this very tool instead. See the videos examples if you'd rather see this in action now.
Creating a session
To create a new session, in the jsconsole prompt, simply run:
:listen
This will yield a unique key along the lines of FAE031CD-74A0-46D3-AE36-757BAB262BEA. Now using this unique key, include a anywhere in the web app that you wish to debug:
<script src="http://jsconsole.com/remote.js?FAE031CD-74A0-46D3-AE36-757BAB262BEA"></script>
Now any calls to console.log from your web app will display the result in the jsconsole session that is listening to your key. Equally, if you run a command in the jsconsole session, the code will injected in to your web app and the result returned to jsconsole.
In addition to generating a new code with :listen, you can also ask jsconsole to listen to a predefined code (but for your own security, try to chose something unique that only you know):
:listen FAE031CD-74A0-46D3-AE36-757BAB262BEA
Now I can use the same remote key in my web app to avoid having to regenerate a new code each time. Note that only the last remote client (i.e. your web app) to connect to jsconsole will recieve remote debug calls - previous windows will be ignored.
To know when the web app has connected, jsconsole will notify you by showing your the userAgent string for the device:
:listen FAE031CD-74A0-46D3-AE36-757BAB262BEA
Creating connection...
Connected to "FAE031CD-74A0-46D3-AE36-757BAB262BEA"
Connection established with Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-GB; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8
A word of warning
Note that this technique is also injecting code directly in to your web app - this tool should only be used for debugging. I can't take respibility for how you use this tool, basically: take care!
Current known support
Remote debugging has been developed to work on all platforms, even if the technology isn't supported. However, jsconsole remote debugging has specifically tested and working on the follow mobile devices (feel free to add to this list):
iOS 4.2.x - iPad, iPhone 4
Andriod 2.2.2 - Nexus One
webOS - Palm Pre
There are some Video examples too
More detailed information please see this links:
http://jsconsole.com/remote-debugging.html
There are some obvious things here:
1)Work very hard to make your site work on all major browsers - including Safari and any other mobile devices other than iPad... this will let you make sure it works on smaller screens well.
2)Read up on known glitches in these browsers and see if you can avoid them.
3)Whenever you are with friends showing off their iPad, or who have an iPhone, ask to test your site on it.
I need to develop a website which will be used exclusively on iPhone and iPad
This seems a bad idea. if it's only used on iPad/iPhone, surely you should write an App and get all the benefits of UI, etc.
Websites should not be tied to specific devices.
This is not 1998 : Best viewed in I.E. In fact your suggestion is worse than that.
If you really want a website that only works on those devices then you'll need to check the user-agent string, but otherwise html is html and unlike what Apple may want you to believe, works just as well on Symbian, Blackberry, Android, S40, Windows, Windows Mobile, etc etc..
(In fact, it works better on Symbian as Symbian actually supports Flash.)

Are the any free windows emulators available to test web sites against an iPhone?

I am looking for iPhone emulation software to test a couple of internal web applications against the iPhone. There are a few quirks occuring with iPhone users that would like to fix but I am unsure how to test them.
For example one of the issues is that numbers are showing up as phone number links on the iPhone which 99% of the time is incorrect. On regular Windows Safari this doesn't occur.
There are also formatting issues with fonts and spacing that occur on no other broswer except the iPhone version of Safari.
Emulator must be free and work under Windows. Suggestions?
There is a Windows build of WebKit embedded inside an iPhone-like shape called Blackbaud iPhone Browser Simulator. You can download it here http://labs.blackbaud.com/NetCommunity/article?artid=662
If you're looking for general WebKit issues, Safari 4 and Chrome use fairly similar builds of WebKit. Most issues can be troubleshooted in that manner.
For things like the automated tel://########## hyperlinking, though, you're likely SOL. That's an iPhone specific customisation of WebKit. It can be disabled (details in someone else's answer here) but you're not going to be able to test for the behaviour on Windows.
Another iphone webkit emulator :
http://www.genuitec.com/mobile/
Build by genuitec, the creators of myEclipse. It's better than using safari desktop as it's a modified version of webkit in order to have the same behavior than safari iPhone. But in reality, it's not 100% equal !

Is there a way to test a web site on the iPhone without an iPhone?

I want to test a website to see how it works with the iPhone but I don't own an iPhone or an iPod touch. Is there a way I can test how the site works on them without owning one?
What I'm really after is fixing how Stackoverflow's WMD markdown editor works on the iPhone. I hear that the hyperlink and image prompts are created too high. I think I know how to fix that but it's pretty tough to develop blind.
If you own a Mac, you can download the iPhone SDK which comes with an iPhone simulator. It works not only for debugging a native app but also for browsing the web.
If you have Safari on your computer, you can enable the "Develop" menu under Preferences > Advanced > Show Develop Menu in Menu Bar.
With this enabled, you can go to Develop > User Agent, and change the user-agent string to the device you want your browser to report to the web server as.
By resizing the window to the appropriate width, you can emulate what the site will look like on the iPhone.
The upside of this is that it's quick, it works on both Windows and Mac, and you don't need the iPhone SDK installed. You can also browse iPhone-specific versions of websites that catch user-agent strings directly from your PC.
The downside is obviously your Safari browser on your PC will behave quicker than on the actual device (especially in regard to javascript performance); it displays plugins and shows fonts that may not be available on the actual iPhone OS; a lack of multi-touch support and "snapping" to columns while scrolling; no auto-rotation; no multi-touch/pinch-zoom; widgets will look different; etc.
Just a notice on this old thread - we have now enabled live testing on iPhones and iPads via vnc at CrossBrowserTesting.com.
Ken - Founder
There is a free app on the mac that emulates the iPhone browser: iPhoney
I don't purport to have done more than a web search, but the problem seems to be solved by several products that are "iPhone web app emulators."
http://www.testiphone.com/
http://marketcircle.com/iphoney/