Showing posts with label Jelly Bean. Show all posts
Showing posts with label Jelly Bean. Show all posts

Thursday, January 10, 2013

PHP 5, MySQL web server on Android

Want to run a web app server on your smartphone or tablet? Specifically, run a full fledge PHP-MySQL Web Server straight from your Android device.



Well, there are a few pre-built apps on the Google App Store. In the past, there were a few lightweight HTTP servers running customize apps like AirDroid or PAW. These new ones have full PHP and MySQL run-times.

I tried a few and settled with Bit Web Server. I also tried KSWEB.

Bit WebServer also comes with PHPMyAdmin (PMA) installed and you are ready to go.
You can install Drupal and Wordpress as well. I got Code Igniter running without any problems.





A few notes. These apps tend to be a bit buggy. They can force-quit or hang under load. I can't really blame them as the fault may be with Android OS itself or the hardware I am running. I've tried them with the Galaxy Nexus and a Samsung Galaxy Tab 2. I've been reading that the OS (Jelly Bean and ICS) may starve the apps due to power savings and other reasons such as auto close.

I can't really complain though. I'm not running anything mission critical. If the app crashes, I simply restart it. It comes in handy show off web apps.

Moreover, it runs LIGHTTPD instead of Apache so PHP run as a CGI.

The apps range from $2 to $3. Yeah, you're paying for open source software and may have an issue with it. However, think about the time you are saving without having to resort to building PHP/MySQL from scratch and make it work on your phone. I have no problem with the pricing.

Just add a keyboard and you are ready to go!





Links:

Bit Web Server
KSWEB.

Friday, November 2, 2012

HTML Text Editors for Android Tablets


My last post on iPad apps got a good reception so I will follow up with a review on some Android "tablet" text/code editors. These editors are designed for writing code with syntax highlighting and more advance features than a simple notepad editor.
Some of these apps have code preview, FTP, and even SFTP integration.

The apps I will mention in this post are:
Touchqode , DroidEdit Pro , AndEdit HD , WebMaster's HTML EditorAndroid Web Editor PRO , SilverEdit , and kEdit.

Rather than bore you with in-depth review on each and every app, I will highlight what I think in terms of good features and shortcomings.

I chose these apps due to their popularity and the touted "tablet" compatibilities. You don't need to use a tablet specific apps. In fact, there are some good phone apps that work.
However, I am believer in optimized interfaces.If you use a tablet,the experience should be more compelling than a blown-up phone app. Unfortunately, a majority of these apps are just that - blown up phone apps.
Well, you can also use phone apps and they may work for you.  Phone Apps include Jota Text Editor , TextWarrior , 920 Text Editor and I will briefly mention them as well.

First of all, before anyone attempts to do any text editing on Android, they need to use Hacker's Keyboard. If you have been using Android for any serious work, Hacker's keyboard needs no introduction but it is pretty much essential for control,tab, and escape which are not found in stock Android keyboards.

If I had to choose any apps out of this entire lot, it would be DroidEdit Pro or Touchqode. Both are highly rated and popular. Both have the important requirement of SFTP integration. That is a pre-requisite for me. There is no point in editing a server-side script locally off a SDcard or internal storage.

If I had to end this review, these are the two apps you only should look at.
I would give a slight preference over DroidEdit due to user interface. Touchqode feels too much like a blown up phone app in my opinion.

DroidEdit Pro Screenshots




Unfortunately, DroidEdit Pro suffers from many Android quirks in responsive layout. I had to switch orientations for many of the feature-sets because you would have over-lapping UI. I'll cover more of these "Android quirks" later.


Touchqode screenshots. As you can see, it still looks like a blown up phone app. Those buttons are extremely small. The app works fine on my phone but looks out of place on a larger screen.




Next, The only app that has a tablet feel is AndEdit. It supports a dual pane interface and you would easily mistaken it as a clone of an iPad app such as Texstastic. Unfortunately, that is all it has. It is rather buggy. Syntax highlighting is poor and there is no FTP/SFTP. Furthermore, it has no option of full screen text editing. The dual pane view is only good for selecting among files. It tries to be a clone of some iOS apps and ends up becoming an also-ran app.

AndEdit screenshots:


Bugs like these are annoying. Frozen panes and the apps tell you there are no open files. This happens after you try re-opening after a crash.


WebMaster's HTML Editor,SilverEditkEdit, and Android Web Editor Pro were pretty much lackluster. They felt like text editors with minor features like line numbering and additional buttons for brackets and curly braces.

WebMaster's HTML Editor


kEdit. In addition to the lack of SFTP, the poor syntax highlighting made this program irrelevant for me.


SilverEdit made me scratch my heads a few times. The UI doesn't work too well on a tablet.



I didn't feel like Android Editor Pro added any value vis-a-vis the competition. And look at that UI!


In fact, I prefer the free phone apps such as Jota, TextWarrior, 920 Text Editor. Unfortunately, they also lack FTP/SFTP integration which rules out their utility.

Still, I would keep at least one text editor on hand. I figure I could use some other apps to get my files but that is rather clumsy and requires clicking in and out of apps.

920 Text Editor
TextWarrior


Jota


In general, these apps suffer from  Android quirks. Yes, I call them quirks. These apps are designed with "responsive layout." Meaning the UIs are designed for multiple resolution and are highly adaptive
( http://developer.android.com/training/multiscreen/adaptui.html ).
Developers need to take lesson from these guys on Design principles and guidelines for Android apps (http://mobile.smashingmagazine.com/2012/07/26/android-design-tips).

The problem with the stale responsive approach is you get a lot of wasted space. Incredibly small interface elements on high DPI tablets. Buttons tend to be small. List menus require a toothpick or stylus to click. For example in SilverEdit, I had a hard time clicking on files in the file manager. I would mistakenly open up an excel file instead of a javascript file in my Downloads folder. This would trigger a crash every time.



Then you have mismatch elements. Keyboards covering up menus. For example, trying to do a search-n-replace in DroidEdit is a frustrating exercise. I would end up switching orientation from landscape to portrait to reveal the "Find menu." In fact, in numerous instances, I had to switch orientation for various reasons. The ridiculously large virtual keyboards (I've tried many different keyboards) would take up a lot of wasted space that I would often end up going portrait.


To fix the problem above, you need to flip the tablet to portrait mode which is counter intuitive when you use a bluetooh keyboard in a case or dock.

First, none of these apps support version control (I haven't found one on iOS either). But the important thing is none of them support organization by projects. If you are connecting and downloading from various SFTP servers, you can easily get lost on which files belong to which server. In my testing, I was simply downloading various source code and it got confusing to which files belong to what source. Since many of these apps are "blown-up" phone apps, none of them offered a dual-column file manager that would allow you to organize your downloads. A better option is the ability to clone a folder from a remote website locally. Hence, you would probably end up using another FTP/SFTP client to organize your files. In the end, it is a bit counter-intuitive and gives a user a cumbersome experience. However, if you are only editing off one server (say a personal website), then an application like DroidEdit Pro would work.

I would also caution that you should always check to see if you are working locally or remotely. Some of these apps open up remotely and save remotely at the same time. If you lose a data connection or something happens, you can accidently delete a live file. Hence, I prefer some sort of cloning/downloading to a staging area. You can always "save-as" to a local folder but the UIs in many of these apps are not that informative or intuitive to tell you. Never hit the "save" button and always use the "save-as."


Last but not least, the most important thing is stability. All of these apps inhibited stability problems especially when loading large files such as javascript frameworks, libraries and minified files. Loading up the main jquery framework file would often result in a crash in many of the apps. They would attempt to syntax highlight and simply crash. Fortunately, some have the option of turning off syntax highlighting.

My conclusion. Android tablet apps have a long way to go. But if you had to choose, some of these may work for you.

Links:
Touchqode
https://play.google.com/store/apps/details?id=com.touchqode.editor

DroidEdit Pro
https://play.google.com/store/apps/details?id=com.aor.droidedit.pro

WebMaster's HTML Editor
https://play.google.com/store/apps/details?id=com.welant.webmaster

Android Web Editor PRO
https://play.google.com/store/apps/details?id=com.webedit.app
Lite version:
https://play.google.com/store/apps/details?id=com.webeditlite.app

SilverEdit Lite
https://play.google.com/store/apps/details?id=com.silver.edit

SilverEdit
https://play.google.com/store/apps/details?id=com.dictatordesigns.silveredit

kEdit Lite
https://play.google.com/store/apps/details?id=com.kkteam.kedit
kEdit Pro
https://play.google.com/store/apps/details?id=com.kkteam.KEditPro

AndEdit HD
https://play.google.com/store/apps/details?id=be.vbs.andedit

Phone Apps

Jota Text Editor
https://play.google.com/store/apps/details?id=jp.sblo.pandora.jota

TextWarrior
https://play.google.com/store/apps/details?id=com.myopicmobile.textwarrior.android

920 Text Editor
https://play.google.com/store/apps/details?id=com.jecelyin.editor

Keyboards

Hacker's Keyboard
https://play.google.com/store/apps/details?id=org.pocketworkstation.pckeyboard&hl=en


Sunday, October 7, 2012

Android Annoyance : this app is compatible with some of your devices

This is the most annoying thing. You spend some good money for some apps and you see this:




Some apps work on some devices and some don't. It is understandable if  your device is way too old or used an unique SoC. However, both my Galaxy Tab and Galaxy Nexus are fairly new with similar TI OMAP processors. The Nexus runs Jelly Bean and the Tab runs ICS.


My  Galaxy Tab 2 is a fairly new device running factory Ice Cream Sandwich and it doesn't get any love. My Tab has been sitting in the drawer and I've been looking for a reason to use it.

Interestingly, a hacked HP Touchpad can download Asphalt 7 but can't even play it.

This sort of thing annoys the hell out of me (and many others who are frustrated with the fragmentation).


Wednesday, September 26, 2012

Goodbye Galaxy Nexus, Hello iPhone 5


Goodbye Galaxy Nexus, Hello iPhone 5.


I'm about to retire my GNexus to secondary status and I'm glad to.
The phone has been a terrible mess from day one. I was mistaken to believe a "Nexus"  product would get updates and fixes but Verizon pretty much screwed the whole thing up from day one.

I got  the official Jelly Bean the other day and it hasn't fix anything. I still get 3-4 hour battery life and most of the core apps don't work for me. I know this is Verizon's fault because I've played with other VZW Nexus phones with rooted ROMS and they perform much better than stock VZW. Jelly Bean still lags on Verizon GNEX phones. The camera app on Jelly Bean on VZW is atrocious compared to other GNEX phones with different roms.

Unfortunately, as a manager, I need to set a good example and I simply just can't root and experiment with an employer issued phone.

I'm back with the iPhone and I'm happy. I love the great apps that help me get my work done. iSSH, Screens (VNC/Apple Remote Desktop), Texstatic, various superior MySQL clients, and  X11 apps.
PUSH IMAP w/ IDLE works  with Cyrus/PostFix/Dovecot mail servers along with MD5-CRAM SSL authentication works on the iPhone. I don't use GMAIL so I need to make sure my PUSH emails from Nagios is working 100%. CalDAV with PUSH notifications and event .ics calendars work out of the box with iOS. More importantly, Cisco VPN w/ Group Authentication works since day one. Google still hasn't really figured out how to fix this and a smartphone is useless to me if I can't VPN/SSH into my work.

Lastly, the most important thing is MTP. MTP works  5% of the time. 95% of the time is is pure frustration. The GNEX has been a pain to transfer files. I've been using webdav, samba, ftp to get files into my Nexus. MTP client on Mountain Lion broke in 10.8.1. I can't get MTP working reliably with Ubuntu 12.04, CentOS or Linux Mint. I'll get it working but something will break it like an update to GMTP or Fuse. PPTP is really slow and web/ftp/sftp isn't going to cut it. I've tried various PPAs, FSTAB, manually mounting and it will work for a bit and then drop. When I plug in my Galaxy Tablet, it goes kaput again. Even when it does work, it never worked reliably. Files take forever to transfer and often get corrupted.

iOS 6 and the iPhone 5 mounts on Linux with no hassle. In fact, with a clean install of Linux Mint 13, I didn't have to do anything but plug in the cable. The App folders mounted and I could copy my files. I transferred about 20GB of MKV, WMV videos to the various video player apps I have. Large PDFs (120-300MB) and 60MB Excel files transfer without a hiccup. As you can see below, Linux Mint has no problems mounting an iPhone 5.



Lot of Android fans will tell you they will deal with all these frustrations because of the customization and flexibility of Android. I don't change home launchers, add widgets, apply different skins on my phones. Both my phones, I can play MKV and different video codecs, mount network volumes, run emulators and do pretty much the same thing. I do like the fact you can completely swap out a ROM distros. There are also some killer applications on Android that I like like Torque (iOS equivalent is pretty pricey). You can also run chroot Linux but I have never been a fan of the implementation on Android.

I have a different set of needs in terms of customization. For me, customization is the ability to install a great app like Vmware Vsphere client to manage my ESXI server. Customization is the ability to pull a sd card from my new Olympus OM-D micro 4/3 camera and edit 1080p video of my vacation. iMovie is truly amazing and has changed how I edit my home videos. I no longer need to use Final Cut for simple things like a picnic or music recital. Customization is also the ability to sort out my pictures in my picture album without manually renaming my jpegs 1.jpg,2.jpg,3.jpg just to have them display in a certain order. It is the little things I appreciate. There is still no peer to the iPod player on the iPhone.


The iPhone 5 is really fast. At work, we are developing a spreadsheet HTML5 web application that is javascript/ajax heavy and the iPhone 5 loads up the application with no problem.
The various Android devices we have have been choking on these pages (200 plus divs with over 100 concurrent ajax calls).  The benchmarks (Anandtech) have shown iOS6 and the A6 SoC has a super fast Javascript engine. I'm surprised because Google's V8 has always been better than Apple's Nitro Javascript engine.

The GNEX still has a better screen but the apps I've used haven't taken advantage of it. I don't watch movies or surf the web on my phones so the larger screen is lost on me. I do, however, run a lot of terminal connections and I still prefer apps like iSSH over Connectbot. iSSH has transparent keys, touch sensitive gestures to pull up control and function keys. This level of usability even on a smaller display trumps the larger 4.65" screen.

I won't be ditching Android. I'll see if I can lemon my Nexus for S3. But for now, I am loving the iPhone 5.