As per Deloitte predictions, more than 50 percentage of all 'computing devices' sold this year will be non-PC (smartphones, tablets, etc.) and 25 percentage of all tablets this year will be purchased by enterprise customers.
While iPad ruling the premium segment, a large number of manufactures are expected to release mid-range and entry-level Android tablets in coming months. If this trend continues then soon Tablets will be the primary way the users will consume web and enterprise services.
This presentation looks at various possibilities of reinventing web/enterprise applications, pros and cons of various tablet platforms (iOS, Android, QNX, webOS, etc.) and tools/frameworks to build cross platform applications.
My presentation for World Usability Day 2010 is available in Slideshare. It is a global event, celebrated across world on second Thursday of November. This year's theme is 'designs, products and services that improve and facilitate communication. We taken this opportunity to promote usability and this year's theme through this presentation.
Cloud computing has already made a huge impact on how we manage servers and infrastructure; you might be already using some of the cloud services directly or indirectly. For example Twitter and Slideshare uses Amazon S3 to store presentations and images.
So far my experience with cloud computing is great, for example Heroku, a zero maintenance hosting platform for Ruby on Rails applications, which itself uses Amazon EC2.
From a business point of view, cloud computing provides a huge opportunity in terms of cost, maintenance and time to market.
"Attack of the Clouds: How cloud computing changes everything" is my recent presentation prepared for an internal briefing, I tried to cover 'why and what is cloud computing', 'types of cloud services', 'popular cloud computing providers' and a demo with Heroku.com.
Groovy and Grails are changing the way we develop software projects. though I personally prefer and use Ruby and Rails for all my personal projects, grails has an edge for developing enterprise applications.
First, it is part of Java Platform, runs on Java Virtual Machine (JVM)
Uses the same infrastructure as Java, can run on Jboss, Tomcat, Weblogic, Websphere,etc
Enable Rapid application development, develop java applications in weeks instead of months
Closely integrate with Java, existing Java libraries can be reused and extended
Full stack application framework, all the standard java frameworks (spring, hibernate, junit) are nicely integrated
Provides quick start for creating project and development environment (generates basic project structure and build scripts), you can create projects structure in less than a minute.
Move the focus from technologies and frameworks to functionality, provides developer friendly Domain Specific Language (DSL) for wrapping complex java configurations such Hibernate Mapping.
Follow and encourage DRY(Don't Repeat Yourself) approach, plenty of plugins to include common functionality such security, authorization, search, etc.
Cloud friendly - using light weight architecture enable Grails applications to be hosted on Cloud Computing environments, with little effort.
Agile development - fully loaded with tools and techniques required for agile development (Test Driven Development, Behavior Driven Development and Continuous Integration, etc)
If you are not using groovy and grails yet then you are wasting your developers time as well as your client money.
One of the most discussed subject in offshore development, is bad
code quality. various factors contribute to this problem, you can
easily blame the developers. But the fundamental problem is with the
way we groom individuals in an organization.
We used to have
syntactical problems, today, these can be solved by automated code
review tools like CheckStyle, FindBugs, FxCop, StyleCop, etc.
But does this enough?
is a huge difference between a quality code and syntactically correct
code. A quality code is much bigger than syntactically correct code,
it is like a poetry.
use of words, correctly structured, in a shortest form, without
affecting the language grammar, conveys the message and make you feel
Most of the developers come out of college as literate,
they know read and write java, or any language. we can't expect quality
code from them, unless we groom and expose them to quality code in a
After working with Java for more than 10 years, its hard to say goodbye, but everything that has a beginning has an end. I feel, Java become too much of overhead for any new software development projects whether it is enterprise projects or niche product development.
Too many standards, and too many implementations, make even a small project very complex.
Standards are great, but the main focus for these standards become vendor independence rather than simplicity and practicality. for this very reason, frameworks like Spring and Hibernate have overthrown standards like EJB.
last few years, new frameworks like Rails, not only changed the we develop applications, also brought new perspective on developing framework itself. with dynamic capabilities and user friendly DSL (Domain specific languange) approach, put these frameworks far ahead of java in terms of development speed and simplicity.
Today, time has come for us to move beyond Java and embrace some the better and simpler alternatives like ruby on rails for web development, Adobe Flex for rich internet applications, Adobe AIR for cross platform desktop applications, Groovy and Grails for web development with java integration. Erlang for concurrent applications.
in spite of all the complexity, the best thing happened to java is, that it has evolved beyond java and become a platform of languages, today it supports all leading languages including ruby(jruby), python (jpython), groovy, etc. this means you can use new languages and frameworks like groovy, and grails on java platform, while utilizing the existing java components.