Tuesday, October 30, 2012

5 great iPad apps for Web Developers

I am often asked if the iPad can be used for real work. The iPad has been called a "recreational" tablet and it lacks a real productivity suite according to many detractors. Well, I don't use Microsoft Office in my day-to-day work activities so the appeal of a Surface RT like device does not appeal to me.
However, I do use an iPad because of its great connectivity features: LTE 4G, the ability to access Cisco IPSEC VPN, great remote access apps in the form of SSH, SFTP, X11, RDP, and VNC.
I use it in my data center to diagnose database servers, apache web servers, write code, fix problems in our network infrastructure. It has become part of my work tools.

Is an iPad a replacement for a laptop? It depends on what you use it for. I can attest to the great ability to quickly login remotely and fix something be it configuring a firewall, updating a MySQL database remotely, or executing a bash script. In short, it is definitely a tool in my arsenal I use for work. And quite frankly, I don't think there are much compromises.

Today, I am going to share some of those apps I use. I am going to concentrate on some great web development  apps.

I am going to concentrate on these apps:
iSSH, GustoTextastic, MySQL Mobile Database Client, and iMockups

There are many other great apps but I only want to cover 5 for brevity. In fact, one can choose other mySQL clients, mockup and diagramming apps but I wanted to show apps that take advantage of the iPad's real estate. I've seen many other apps on other platforms that are simply "blown-up" phone apps and that is not the way to go on a tablet.


If there is only one app I have to rely on, it would be iSSH. I have used it for many years and it has saved my butt on many occasions. It is an awesome SSH client (and can even  be used as an X11 client). I've been called up in the middle of the night to reboot servers or restart dead daemon services. In short, it simply works. You can even use SSH keys. But the killer feature is the transparent keyboard and floating multi-gesture pop-up programmable cursors for use in the shell.

Like I said, if there was only one app to choose, this would be it. All I need is console access with VIM and nano and I'm set. I cannot stress how important the multi-gesture buttons are. When you are typing on a screen soft keyboard, you can quickly tab or arrow-up in an instant. It helps when you need to type really quickly in the console. For example, typing in service stop, I can quickly arrow up to repeat the command and service start. That is intuitive for someone who uses the shell and is acclimated to using arrow buttons on a keyboard.

Text Editors/IDE: Gusto & Textastic

Next, there are two text editors you should look at for the iPad. Gusto and Textastic. I originally used Textastic because it was the first text editor to support SFTP. This is important because all my servers are *NIX based (Linux/FreeBSD). Both have their strengths and weaknesses. Gusto now supports SFTP which gives it feature parity.

If you ever used Sublime 2 or themed your text editor in the Guber/Solarize themes, you will love both apps. Both can color code to make it extremely pleasant to read and edit code.

Both apps give you a full screen view and a file explorer panel view. Textastic is easier to swap views whereas the switch in Gusto is hidden in a modal dialog setting.

Here are screenshots of Gusto.

Now, the key feature Gusto has over Texstatic is the ability to organize by projects. You get visual thumbnail representations and each project are isolated from one another. In Texstatic, everything is seen in a directory view and you isolate your projects by subfolders.

Here are Texstatic screenshots:

Now, the one key killer feature that Texstatic has over Gusto is a built in Firebug option for the local preview. Firebug is pretty much essential for desktop developers. It is great to see it on a tablet.

With Firebug and a web inspector, you can analyze console javascript errors and evaluate DOM objects.

With Texstatic, you can pretty much use the iPad as a standalone device to develop HTML5/Javascript apps.
You only need access to a remote server in the case of developing Ruby/Python or PHP web apps. And the connectivity options will ensure you can connect easily to any Linux or VPS *NIX servers.
With an external keyboard, this makes the iPad an incredibly powerful and productive device.

Both apps with have their fans. Both are good at updating remote code when you need to.

For uber cross-platform geeks,  both apps are easily accessible by Linux distros. This is pretty important when compared to other devices on the market that have problems in Linux due to MTP. The iPad was pretty much plug-n-play on Ubuntu and Linux Mint. Dropping, copying, and synching files between Ubuntu and iOS 6 is a sweet.

The only thing that would both these two competing apps complete would be to include a version control mechanism. It would be awesome to have GIT capabilities in either apps.

MySQL Clients

There are countless number of good MySQL clients on the iTunes app store. I can't list them all so you need to test and try the one you like best.

MySQL Mobile Database Client is a fairly decent one that works pretty well. I often use just iSSH and access MySQL in the terminal but I understand people like GUI clients.

Once again, this apps shows the strength of iOS in terms of tablets specific apps. This app intuitively takes advantage of the screen instead of just blowing up a single column  smartphone view/layout I've seen on Android.

You can quickly select tables, view individual rows and edit them. You can also manually make queries to your heart content. I've used this apps several times when clients call me in the middle of lunch to manually over-ride or update a record.

Mockup Apps; iMockups

Lastly, there are many apps to help you visualize and markup ideas. There are dozen of great apps to allow you to flow-chart, diagram ideas. I often use TouchDraw (it was cheap) and then there some apps that go beyond flow-charting and making UML diagrams. One of those apps is iMockups.

iMockups won't make you a fancy flow-chart but it will let you quickly prototype your ideas in an interactive presentation for client approvals. This app can be used to visualize web and iOS mobile apps.

You simply drag elements of a web view and define their interaction. You can use this quickly visual a HTML form or database recordset results. Or you can design a navigation toolbar and it will actually be interactive and go to the page/slide you want to show next. I've seen many web producers use tools like Powerpoint and Keynote to do this but it ends up taking longer. With this apps, you simply drag the page elements and is actually very productive.

All these apps cost money. That is one of the major difference against other ecosystem. I am certain you can find some free equivalents. Great quality apps tend to cost money and I am more than willing to pay if it helps me. I can pretty much say many of these apps have already paid themselves off in emergencies. The ability to enjoy my lunch at a restaurant without rushing back to the office to make a SQL update is priceless. The ability to add a host deny rule using iSSH on my servers in the middle of a D-O-S (denial of service) attack is another priceless example.

There you have it. Some great apps for your recreational tablet to do some work. I will write some more  articles like this for other use cases. So the next time someone says the iPad can't be use for work, these apps can prove them wrong. These apps also show the strengths of the iPad vis-a-vis their competitors. Tablet specific and tablet design apps make a big difference.

If you do a search on the Microsoft Metro store for the Surface RT as of this writing, good luck finding a SFTP/SSH client.

Once again, the links to these apps:
iSSHGustoTextasticMySQL Mobile Database Client, and iMockups

No comments:

Post a Comment