Two novel ways to test mobile devices came to my attention today. This has traditionally been a sticky area for developers as you could not exactly point the device to “localhost” and hack away.
xip.io is a service from 37Signals, who bring us Ruby on Rails-based products like Basecamp. At a glance, it’s somewhat simple, but pretty cool. You can use the service to point your mobile device towards a local development server, passing through a public DNS server. Be sure to use your internal LAN address (not necessarily the one the public internet sees).
Adobe Shadow is a different take. This Adobe Labs project essentially allows you to mirror your desktop on a mobile device via a small application installed on each. With it, you can synchronously browse your site, viewing both the desktop and mobile experiences.
I realized today just how long it has been since I last put this blog to good use…over two years. Still, more amazingly, I see downloads of past samples (mostly Flex-related) almost daily from my Box.net account. I’ll try to be a bit more active.
I recently started working with Aptana (customized build of Eclipse) for PHP and web development and wanted to simplify publishing to the local XAMPP server I use for development. Copying files back and forth was fun, but there is an easier way…
Using Apache virtual hosts, you can easily setup a second document root to serve content directly from your Aptana/Eclipse workspace (I’m on Windows, but same will work for any OS):
- Open C:\xampp\apache\conf\extra\httpd-vhosts.conf in your favorite text editor.
- Uncomment (remove the “#”) line 19 – “NameVirtualHost *:80”
- Uncomment the block of XML starting at line 27 to read as follows:
Allow from all
CustomLog "logs/workspace.localhost-access.log" combined
- Open C:\Windows\System32\drivers\etc with Notepad, running as Administrator. (This is for Win7, hosts file exists elsewhere on other systems.)
- Enter the following and save:
127.0.0.1 localhost workspace.localhost
Restart XAMPP and browse to http://workspace.localhost/your-project-name and you should be good to go. Simple.
Update: After reviewing, I noticed that you will also need to add a second virtual host so that localhost continues to respond as previously.
Allow from all
CustomLog "logs/access.log" combined