We're already deep in the holiday season, but it's never too late to add a bit of Xmas spirit to your Web Application!

I thought about adding Xmas lights, flying reindeers, working elves... but it seems to me that for an Enterprise Web Application something a bit subtler was in order. So I ended up just putting in a bit of snow on the Sales application:


Check the video to see snow in action, 
or visit the OutSystems Network to see it live in a real web page!

If you're using the Agile Platform and want to add some snow to your app, here's what you need to do:
  1. Get the "Xmas" component from the OutSystems Community
  2. Reference the component from your web app
  3. Drag the "LetItsnow" block to a particular page, or to the footer if you want snow on all pages
  4. Click 1CP, sit back, enjoy your eggnog, and let it snow!

If you're not using the Agile Platform, there's a bit more work involved...
  1. Get the Javascript file from this site
  2. Place the Javascript on all your front end servers
  3. Edit your pages and look for the <head> section
  4. Add the line <script src="snowstorm.js"></script>
  5. Customize the snow with a bit more Javascript
    <script>
    snowStorm.snowColor = '#cccccc';
    snowStorm.snowStick = false;
    snowStorm.animationInterval = 75;
    </script>
  6. Make sure you didn't break anything!
  7. Follow the "move to production" checklist (if you have one)
  8. Send the changes to your ops team and wait for them to move it to production... hopefully that will happen before Xmas! :)
Have a snowy Merry Xmas!
MobileI don't know about you, but I am getting asked more and more to deliver some type of application that has a mobile front end. Of course mobile is one of the big trends nowadays, and there are good reasons for it. In a recent Forrester survey, 75% of decision makers claim that deploying mobile apps has increased their workforce productivity.

The question I seem to get asked often is, how should you implement mobile? To keep it simple, I have found that there are three implementation strategies you can choose from to build your mobile app:

  1. Native Applications
  2. Mobile Web Applications
  3. Hybrid


Native Applications
These are apps built for a particular device and operating system. They're cool because you can build extremely rich and interactive apps that take advantage of all of the phone's features. The problem is they're hard to build, and you need to have different code (and sometimes different dev teams) for each different device - a maintenance nightmare...

Mobile Web Applications
These are applications that run on the device's browser. Using standards like HTML5 and CSS3, they provide a very good level of interactivity that is getting closer and closer to what you get from native. They run on a web server, instead of running on the device, which gives the possibility to deploy the same app for multiple devices and greatly simplifies application maintenance. The Financial Times is an example of a major player that has decided to move from native to Mobile Web.

Hybrid Applications
These are a mix of Native and Mobile Web. A thin native shell is built around a browser, where the bulk of the application runs. The thin shell allows the application to access phone features that are not available in HTML5 (yet!). It also meets the requirements of being native in order to distribute the application on the appstore. On the maintenance front, well you guessed it a bit of a mix between the native and mobile web. Major players such as Facebook have chosen this route by building their own "wrapper" and then executing all the site content as a web app in that shell.

So, which to pick?
I believe the best choice is Mobile Web Applications. Of course the decision depends on the context, but most of the time Mobile Web is the way to go - particularly if you're considering Enterprise Mobile Applications. Here's why:

  1. Use what you know: Reuse all the knowledge you have from web development. There are still new things to learn, but it beats learning a whole new system.
  2. No approval process: Skip all the steps necessary to have your app on the appstore. Just publish to your servers and you're done.
  3. Auto-upgrade: All your users will be using the latest version of your app. No need to manually upgrade the app on their devices.
  4. Ready for a lot of devices: Using standard technologies like HTML5, your app will be ready to run in a lot of devices in one go.
  5. Be Agile! By skipping the appstore approval process and by being able to release for multiple devices at once, you can have truly short iterations and release new features early to your users.


Click here to learn more about this topic by watching the "Mobile has arrived so start building those apps!" webinar. Happy development!
GrupoSataLogo.pngI was excited to read a story in PM Network profiling our client, SATA International, an airline headquartered in Portugal. The article highlights how SATA - using OutSystems' Agile Platform - built a custom airport operational management system after the packaged software vendor behind their previous application came to them at renewal time presenting a significant price increase.

"Buy vs. build" is a typical issue we hear from Agile Platform users, and as the PM Network article points out, the answer for SATA was "build" after they realized they could reduce costs and improve organizational efficiency by building their own application. For SATA, the airport operational management system is a critical application that needs to be fully integrated with SATA's operational systems. And after a short experience working with OutSystems' Agile Platform, SATA was certain they had the right platform to build their application .

As SATA CIO Paulo Ornelas said in the PM Network article:

"Even having this limited experience, the success of our first agile deployment instilled confidence that both the methodology and the technology would effectively support the project delivery."

Once SATA kicked off this project using the Agile Platform, they were able to deliver the application even quicker than expected. Paulo Ornealas told PM Network:

"We actually issued the final release a month early, with an even higher than- promised level of functionality."

And at the end of the project, SATA's decision to build its own custom application was validated, with substantial financial savings over what the packaged software vendor originally quoted them for their renewal:

"Financially, we were able to realize significant savings in both capital expenditure and operating expense," Mr. Ornelas says. The final solution came in at only 15 percent of the total cost proposed by the vendor, and it was totally tailored to the organization.

Congratulations to SATA on their successful projects! To read more about the success they've had with Agile Platform, check out their full case study.

Bits & Bijt Wrap-Up

| 2 Comments | No TrackBacks
After what we hope was a great Summer for all buddying agilists out there, we thought we bid the mad warm days farewell and welcome falling leaves and hot cocoa the best way possible: with one more Bits & Bijt! For those not fortunate enough to have attended one already, Bits & Bijt is the OutSystems developer meetup, held in the Netherlands roughly every 3 months.

Now in its third edition, it is a very informal and relaxed event, where suit and ties give way to t-shirts and jeans and where ROI and economy planning play second fiddle to technical discussions and tales from the trenches over a can of soda and munchies.

Of course we always aim at having incredible speakers that set the tone for further discussions and this time was no exception.

Heading up we had the infectiously energetic Erwin Schmidt from B-Synergy talking about Agile SAP and how, after 2 years of intensive investigation, the Agile Platform was the only solution that allowed him to create user-friendly applications over the SAP Enterprise Core quickly and sanely.

Next up, was none other than our own Rodrigo Coutinho, main poster on this very blog, OutSystems employee #1 and all around nice guy. Rodrigo did a great presentation on Mobile Development on 6.0 and, if you attended one of last week's webinar on the subject, you already know how knowledgeable he is on this matter. Great stuff all around, as is par for the course for all of Rodrigo's presentations.

Closing the presentation track we had the Oxxio's Matthias Preuter and Wim van den Brink, both staunch OutSystems advocates, who tag teamed to present us the challenges they faced when developing their first 6.0 project: a Version Management solution. This project makes heavy use of the Agile Platform's Business Process Technology and allows formal OutSystems application dependency "locking" and publication to other staging environments. It is still work in progress, but it beautifully showcases our user's ingenuity in extending the Agile Platform's workflow outside what's in the box.

We wrapped up the event with more informal group chats on the Platform and the meaning of life in general. We could tell you a bit more about both things, but we think it's better if you join us next time around! To all that attended, thanks for joining us and we hope you enjoyed yourselves. We @ OutSystems certainly did!

bit-bijt-sep2011-photos.jpg

IT professionals in the education space have a peanut_butter_and_jelly.pngdifficult task facing them - they have to meet the demands of students, teachers and administrative support staff with what typically amounts to a shoestring budget.

In the past few years, this has meant relying heavily on Software-as-a-Service (SaaS) solutions that, while inexpensive, tend to be difficult to integrate with existing school resources and rarely meet all the needs of a district. On the other hand, custom-developed applications can meet all of a school IT administrator's needs but are something of a pipe dream, thanks to the personnel, budget and equipment requirements.

This is all changing, however, thanks to the cloud and, in particular, rapid application development (RAD) Platforms-as-a-Service (PaaS) - a category which is defined by the flexibility and power of the Agile Platform.

For an example, take Faith Academy. A private school with brick-and-mortar locations as well as a virtual curriculum, Faith's vice president of IT, Dan Stueck, was faced with having to upgrade several important applications with a very small budget. Rather than turning to SaaS, Dan went with the Agile Platform, leading to a highly effective partnership in the cloud. You can read the full article at THE Journal.

Our own Mike Jones also offered up his take on RAD PaaS in schools at EdTech Digest - check out Mike's Q&A for great insights into what schools can expect from the cloud in the future and why custom app dev is the future when it comes to school IT.

What about you? What impact do you see RAD PaaS having on your school or your business?
Building a Mobile Web Application is the fastest way to get a mobile app in the hands of your users. You get to build an app at a fraction of the cost of building native, it works on multiple devices from day one, and you don't need to go through the appstore publishing process (if you want to find out why Mobile Web Applications are the way to go, check this free eBook).

But sometimes Mobile Web Applications just don't cut it... you either need to access a specific features of the mobile device - like the camera or address book - or you really want to get your app in the appstore. If that's the case, Hybrid Applications are a great solution.

In this video, we show you how to build such a Hybrid Application using the OutSystems Agile Platform to build the Mobile Web Application, and PhoneGap to create a native shell on top of your Web Application.


You can find the code snippets used in this video here, and the PhoneGap component for OutSystems is available from the OutSystems Network.
paas-cloud.jpg
I will bet that in some form or fashion you have Software as a Service (SaaS) in your organization. Now, I am not talking about packages that have been purchased and installed on your servers - I am talking about true SaaS. Where the software is running in the 'cloud' on your SaaS provider's servers. There is a lot of hype around SaaS and the hope that in the near future all your applications will simply be purchased in the cloud and start working immediately. Sounds great - right?

Reality check!

For most of us in Enterprise IT, the reality is that what makes our business different is the way we go about delivering our products and services to the market. This means that an off-the-shelf, standardized SaaS application is not going to solve our needs. Sure, SaaS is great for many of the commodity processes like payroll processing, accounting, etc. But what about the processes that make your business unique - is SaaS going to work here?

Many organizations I have talked to are trying to force-fit SaaS to work for these unique processes. They are struggling with wanting to customize their SaaS, which is difficult. I see things like only using pieces of the SaaS app and trying to build new application functionality for the processes that are unique. Why are they doing this?
 
Well, for one, the promise of getting the application up and running really fast is a big attraction to the business. SaaS makes this possible due to the zero time and cost associated with setting up the infrastructure to run the application. But all of these SaaS benefits are lost once you start customizing it. When you try to adapt the SaaS offering to your unique needs, what started as a really fast time to market initiative, will quickly turn into a nightmare of tweaking and hacking an inadequate API and data model.
 
This might seem counter intuitive, but I think the answer lines in Platform as a Service (PaaS). Let me explain, we are starting to see new, extremely productive and easy to use PaaS offerings that give you rapid application development (RAD) with 'instant' setup to get your project started immediately. I like to call this "RAD PaaS". Even more interesting... what happens when you couple free applications with the RAD PaaS environment? Now you can quickly deliver a custom fit application faster than you could configure the SaaS package. Thus, the new wave of RAD PaaS offerings will provide a custom SaaS experience, spelling the end of SaaS for anything but a truly standardized business processes.

OutSystems recently published a new eBook highlighting three customers who delivered unique applications in the cloud. Two of these examples are actually about replacing existing SaaS applications and taking advantage of this new generation of RAD PaaS offerings to accelerate deliverability and cut costs. Check it out here.
 
So, how about your business? Is SaaS working for you? Have you tried RAD PaaS yet?


nextstep-bowl.png
On May 19 and 20 we had another great edition of our user conference, the NextStep. It was an amazing event with the largest ever gathering of our customers, our partners, members of the press, and OutSystems employees.

During these two days we had keynotes, technical sessions, personal demos, breakfast tables, lunches and coffee breaks. And in all of these everybody shared their work experiences, their expertise using the Agile Platform, their ideas on how to make IT more efficient, and a myriad of other topics were discuss around making business and IT life easier.

So that you have an idea of how busy the event was this year, here are a few of the numbers that made NextStep '11 so awesome!

  • We had 7 booths at the expo hall
  • We filled 12 breakfast tables, each discussing an IT topic
  • We handed out 12 agility awards to our customers and partners
  • We had 27 great sessions on business and technology
  • We welcomed over 500 participants...
  • ...from 10 different countries!


We had a lot of fun organizing this event, and hope everybody enjoyed it. But this was only possible thanks to our fabulous speakers, to our sponsoring partners, to everyone that helped assemble and organize the venue and, of course, to everybody that attended and turned NextStep into a great show. Thank you very much!

We've made a lot of material available online to those that attended and want to review it, and to those that couldn't make it but wished they were there. You can get it at the NextStep website.
nextstep2011.pngIt's that time of the year again, and NextStep 2011 is right around the corner! This is OutSystems' big yearly event and it will take place next week, on May 19 and 20. The OutSystems team expects to have over 500 attendees ready to network, learn and share their experience. To host the event we picked the beautiful seaside resort of Estoril.

This year main topic will be "Change at the Speed of Business - the last frontier of IT failure", and the event will start with what will surely be a memorable keynote by Paulo Rosado, OutSystems' CEO, that will focus on some of the hot topics of IT: the cloud, mobile, and usability.

Next, António Menezes, CEO of SATA Airlines, will share with us the secrets of how SATA managed to leapfrog its competition and will reveal the importance of IT in achieving this amazing feat. I love his session title: IT is Key and Small is Beautiful...

To finish the first day with a bang, Paulo Rosado will return to the stage with Mike Jones, OutSystems VP of Marketing, and together they'll do the worldwide launch of the much anticipated version 6.0 of the Agile Platform!

For day two, we have two tracks filled with great presentations:
  • Transforming Your Application Delivery, a track dedicated to getting the most out of IT in application delivery
  • Cutting Edge Techniques Using the Agile Platform, a track focused on getting the most out of the Agile Platform technology
To close day two, there will be a deep dive on the Agile Platform 6.0, to show all the amazing features this new version introduces, and how they can be used to make IT even more efficient in building and changing web applications.

You can check the full agenda and register online on the NextStep website. Be sure to register quick, we're almost out of seats!

See you there!

SIIA PaaS Requirements

| 2 Comments | No TrackBacks
siia-clipboard.png
The Cloud . . .  It's like teenage sex. Everyone is talking about it - but no one is really doing it. Also like teenage sex sooner or later you will. Thus while the hype is driving us all a bit crazy we have to pay some attention to how this will play out as sooner or later we will get involved. Like most things in the technology world, the concepts are not all that new.

What has changed is the terminology and more importantly the availability of the technology has gotten better. This makes things more accessible, usable, etc. For example, it was not but a few years ago that you still used a phone line and wire to connect to your email when traveling on business. How we forget the good ole days and thank someone for wireless access. In the cloud we are making access to virtualized servers, data stores and the needed services to manage them available under a utility model - you only pay for what you use.
  
So the cloud. OK, I think we all get the basics of having a virtual data center and the notion of a utility model for getting access to a remote infrastructure. Being able to offload some of the operational costs associated with managing your infrastructure is promising. What I see as the real challenge is how all of this will impact the more difficult side of IT, application development and management. This is where we create business value and where the cloud has some maturing to do before its full promise will be recognized.
 
So what about application development in the cloud - how are you going to get it done? Well there is SaaS which is effectively the cloud's 'package' application market. This is good for those commodity processes where you can buy a package. But for the differentiating processes where you have to build an application we have to look at things like PaaS or platform as a service. To this end I wanted to share a snippet from a recent SIIA article that outlined their thinking on the minimum requirements you'll need to provide a "Best-in-Class" Platform-as-a-Service (PaaS) offering:

  • Multi-tenant architecture - common technical resources and code instance for multiple client companies.
  • Customizable/Programmable User Interface - support the creation of high-flexible user interfaces without the need to write complex code.
  • Unlimited Database Customizations - provide ability to easily modify/extend the data model (i.e. construct objects, define relationships, specify validation rules/permissions) via a "point-and-click" declarative" environment.
  • Robust Workflow capabilities - engender process automation by providing "point-and-click" tools to easily define workflow processes and specify business rules.
  • Granular permissions model - multi-level control over security/sharing within/across applications and platform components.
  • Flexible services-enabled integration model - enable seamless integration of "cloud" application data and functionality via a flexible web services enabled integration model.
  • Analytics layer - enhanced ability to leverage aggregated data across companies and applications for analytics.
  • Integrated content library - common elements that extend the core application feature set, improve info-sharing and speed up go to market time.

This list sounds reasonable. I would push back on the need for multi-tenancy.  Why?  If I am an enterprise IT shop wanting to build applications for my business - I don't share my application software thus this need is not important. I would also add the requirement to have my PaaS give me the option to deploy any new application on premise as well as in the cloud - you never know when something is going to force you to move your data and processes to a more secure setting. Check out the eBook the OutSystems team put together on PaaS here and let me know what you are considering for application development in the cloud.      

Agile Platform

Build your next great Web App today: Take a tour of the Agile Platform