January 29th, 2010 Macronimous Posted in General, Mobile development | No Comments »
In late 90s and initial few years during the last decade, developers (and the users too) used to have a confusion. If they need a software solution, for an example, invoice management system, how do they need it? An installable PC based software or a Web application? (Why don’t we ever call it as Web software?). Due to Bandwidth limitations, many of our customers preferred to get their software in PC. Some of our clients felt unsecured of using web applications.
But when years passed by, the requirements too changed. When we started working collaboratively, (which was made easy with the internet and the bandwidth growth) people slowly started moving into web based application. Web based Emails are possibly the first web applications people used. People started developing cross-browser compatible web applications. We stopped application development with VB and started focusing only on ASP and then ASP.NET. Now Web 2.o has changed the perspective of ’software’ completely. Also Hybrid applications became possible with APIs etc.
Likewise, in Mobile, there are two ways to develop Mobile applications. Mobile browser based applications – which are websites optimized for Mobile browsers and Installable or Native Mobile applications. They both has advantages and disadvantages.
Why Mobile Browser based applications and why not?
Mobile Brower based applications are slow due to the bandwidth limitations and will eat up your download limits in your plan. Also, the user need to remember the URLs, Type it which is really hard. Advantage is that the development cost is low since the developer pays additional attention only to make it compatible with most possible mobile browsers. Also now the many Mobile browsers supports HTML and the smart phones comes with bigger screens to see the full sized websites, if not by zooming it. We have keyboards too to manage this. But, if you want to browse sites, you can do that in your tiny Netbook, which you carry with you always, right?
So, In short: The advantage is the low development cost and the disadvantage is the bandwidth limitations and the limitations of Mobile websites which does not access your Phone’s components like Address book, Camera etc.
Why Native mobile applications and why not?
Native (installable) application resides in your Mobile, if you launch it, the search with parameters which are within your mobile (Eg. The 50 state names in USA, Your favorite locations to see daily weather etc). Except free text search, the rest of the search parameters can be stored in the mobile – OR they can be updated just one time. The communication between the Data/Web server and the mobile could be drastically reduced. An application like share portfolio can be created within your Phone and stored. Every day you just need to update the stock prices. You need not download the entire portfolio each day. Also, the application resides within the phone can access phone’s capability such as camera, phone book /contacts etc to and make the applications ‘Native’.
I also absorbed another hidden advantage of native application is brand loyalty. If the customer installs a mobile application which you supply, he will rely on your application. For Eg. I use Viigo for regular information updates (News, weather etc) But a site called Justdial.com or Google local for local address research. If Justdial comes with a Blackberry solution, they captured me as their user
The disadvantage is obviously the development cost. No two mobile platforms share a mobile application, and there are too many Mobile operating systems (or platforms) exist in the market. If you develop a mobile application to market it widely, you need to develop that in J2ME (for phones that support only Java with no loaded OS), Symbian, Mac iPhone, Android, RIM, WebOS( for Palm pre), LinMo and Windows mobile. Though J2ME (or Java ME) is widely used, it has the Graphic limitations and I am sure it won’t look nice in my Blackberry Bold!. If the developer do not have expertise in more than one technology, then you need to run behind various mobile developers, finding them under one roof would be difficult.
So, In short: The advantage is quick access, less data transaction and the disadvantage is the cost of development.
Hybrid mobile applications?
No, Hybrid application is not ‘going Green’ or developing applications ‘environment friendly!’
They are Applications that uses browser interfaces and native mobile components. With HTML5 and JavaScripts now the browsers are becoming capable of accessing phone’s built in features like contacts, camera etc. We started developing applications using PhoneGap and I believe solutions like PhoneGap should fill-in this gap. Platform free mobile solutions are what we need now and the gap between the browser based applications and native mobile applications is getting closure.
Finally what could be the disadvantages in hybrid mobile applications? Two things comes to my mind. Application security and learning curve for the developers. Mobile developers need to know HTML and Web developers need to know mobile phone APIs. Right? Let us see how we overcome these.
Liked the post? Subscribe to this Feed OR Trackback URL for this post: http://blog.macronimous.com/mobile-applications-browser-based-or-native-or-hybrid/trackback/
January 18th, 2010 Macronimous Posted in Others | No Comments »
Added the hosted service of Today God is First, http://blog.macronimous.com/today-god-is-first/, to support the readers of our Blog. You may want to pay a visit to TGIF’s site too, from Os Hillman of MarketPlace Leaders. I read this daily, and I recommend business owners, developers and people in IT too for a new Day by reviewing yourself and refresh in God. You won’d regret spending 5 minutes reading this, I am sure you will subscribe to get it in your mail box.
God Bless for a Wonderful NewYear!
Liked the post? Subscribe to this Feed OR Trackback URL for this post: http://blog.macronimous.com/today-god-is-first-tgif/trackback/
Netbeans Integrated Development Environment (IDE) is an open source integrated development for software developers. You can run the Netbeans IDE on various platforms which include Linux, Windows, Solaris and MacOs. It is aimed at providing a comfortable environment for the developer during each stage of development. This is accomplished by integrating precise features required for PHP development into the Netbeans IDE.
As most PHP projects characteristically connect to MySQL databases, Netbeans has made a concentrated effort to offer to this configuration. By means of the Netbeans IDE 6.5 Beta, web developers can now benefit from the standard features like the syntax highlighting, refactoring, code templates, pop-up documentation, easy code navigation, debugger and lots more.
I have been currently using Netbeans IDE and I have penned down few features and positives that I came across in writing PHP based web application.
- It comes free.
- Netbeans will go along with PHP, JavaScript, CSS, HTML, Java and lots more.
- Indentation format is out of the top draw in Netbeans. You select a block of code which contains css, html or php code, Netbeans will make sure it formats the code evidently and placed indentation adequately.
- Common functions of PHP are shown automatically or you can use ctrl + space.
- While writing HTML, Netbeans ensures it checks the div id properly and it indicates if there is any hitch so that you can easily fix the bug.
I can stiff my neck out and say it’s the most popular IDE and also the most popular. So I would give an overall score of 8 out of 10 for Netbeans IDE.
Liked the post? Subscribe to this Feed OR Trackback URL for this post: http://blog.macronimous.com/php-ides-we-use-1-netbeans-and-why/trackback/
Symfony a web application written in PHP as per the Model-View-Controller (MVC) standards launched by Sensio Labs during 2005. It is aimed to give developers full authority over the configuration. Symfony also looks to up the tempo of creation and maintenance of web applications and to reinstate the recurring coding tasks. More or less a whole lot from the directory structure to foreign libraries could be customized.
The symfony templating component is a flexible layer on top of PHP which provides you simple yet influential features that covers most familiar templating needs. One of the objectives of symfony templating component is to be as fast as possible. It comes as a tool which is very easy to use with just a single archive to download and that’s it, you are ready to be on the go.
You might ask me the next question, what is the exact need for any framework in PHP? PHP was supposed to be meant as a fast web based programming language. The ever escalating popularity of Open Source Technology today has given away to the position of PHP in web community.
Given this condition why do you need a Symfony? Why a framework in the first place? Let us see how the Symfony framework is going to benefit the customer and as well as the developer.
Benefits of Symfony Framework for Customers
- Released under MIT open source license, the Symfony framework comes as free software and you can use it for any commercial purposes.
- Symfony Framework is independent of database due to the ORM layer “Propel” or “Doctrine”.
- Use of tested code and also less lines of code which always results in less chance of bugs and also it will minimize your cost.
- Web applications are very easy to modify later on because of the clear Model View Controller (MVC) structure that separates application into separated layers.
- Swift developments of a custom-made website build on proven methods and principles.
Benefits of Symfony Framework for Developers
- All codes are object oriented and entirely in PHP5.
- You will gain plenty of time in the overall development process and get improved maintainable and testable code.
- Very appropriate for development methodologies like XP.
- Advanced cache system which includes file cache, apc cache, mem cache and few others.
- Offers tools to make use of every useful best-practice accessible on the web today.
Initially when I came across this Symfony software, found it really overwhelming and appeared a big step. But the structure of the framework and also because of the consistency of Application Programming Interface (API), the documentation provided was really wonderful.
I must admit that ever since we started using Symfony, we haven’t looked back.
3. Frameworks we like: 2. CakePHP and why?
2. PHP Frameworks we like 1. Zend and why?
1. PHP Frameworks we like
Liked the post? Subscribe to this Feed OR Trackback URL for this post: http://blog.macronimous.com/frameworks-we-like-symfony-and-why/trackback/
November 25th, 2009 Macronimous Posted in General, Web Testing | 1 Comment »
We learn from the projects we do and time teaches us too. The following simple 12 rules for the developers are we learnt from the customers over a period of time. I hope they will help us to be better to the customers who teaches us, and improve the deliverables that justifies our experience.
1. Test, Test and Test your applications before you send it to QA team
2. Fix all the bugs which you find
3. Remember this: If you forget to include QA in the project schedule and swallow QA time by extending your development time, you are doing injustice to the client, your employer and the worst is to yourself.
3. Fix all the bugs which QA team finds
4. Assure yourself that you leave no faults in your application before sending it to the client
5. Do NOT expect the customer to test your application for yourself. The customer need not be a Testing professional.
6. Make the list of changes and bugs reported by the customer.
7. Schedule them – and Let the customer know the turnaround time to fix them all.
8. Fix them and let the QA check them.
9. Make sure that you make the customer happy, and let him prefer him as your favorite developer.
10. Learn from the bugs; By not repeating them you can become a super developer.
11. If a project has strict deadlines, it needs strict QA.
12. Avoid reporting the known bugs to the client – instead fix them!
As I said learning never ends. So, I welcome if your valuable rules or strategies or comments could extend this list are welcome. Shoot them them as your comments.
Liked the post? Subscribe to this Feed OR Trackback URL for this post: http://blog.macronimous.com/web-application-testing-12-simple-strategies-for-developers/trackback/