Thursday, May 21, 2009

Introduction to Ubikwiti

Ubikwiti is a low-cost, high-value SaaS and PaaS solution that offers small/medium businesses easy-to-use on-demand business and personal applications. The Ubikwiti platform offers application templates to adapt to personal requirements; do-it-yourself configuration and customization tools; and the ability to modify/add application functionality as business or personal needs change – at any time, on the fly, with no down time.

It is built on top of the Ubikwiti ecosystem below.

At the core, is our primary innovation, the Definition-based Dynamic Engine (DDE), which consists of code factories that take in business components defined in XML and execute them on-the-fly as dynamic business applications. The XML business component defines the business rules & policies, business processes, presentation and storage in loosely coupled design. In DDE, the business components can be easily added, removed or customized (using our DIY-GUI and DIY-Configuration toolkits) at runtime by end-users themselves.

On top of the DDE is the U-Kwikshop, our Apple iTunes App Store-like business component marketplace. With AccTrak21's 15 years experience in SMB business applications (AccTrak21 is the management and development team for Ubikwiti who developed and supplied total accounting office software to ATX II Inc, and H&R Blocks) and our active involvement in industry standard organization like OAGIS, we have developed and published close to 100 business components to the U-Kwikshop for user to add functionalities to their application whenever their needs arise. With those business components, we have already prefabricated about 10 application templates to ease the work of SMB to assemble dynamic business applications tailors to their own business needs. We also prefabricated a few personal application templates for non-business users.

At top are the Ubikwiti targeted markets. Besides aggressively marketing to end-users, we also work on tapping into the networks of the key players in the respective sectors. We have released our Facebook platform application - Personal Expenses to these 200 million users network (thanks to SOA and Web 2.0 which makes the development so much easier); PayCycle import component for PayCycle payroll users; Online retailer template with POS Receipts component to integrate with online shopping cart. We are also working on other online collaboration networks such as Google, Skype, Myspace, WebEx, Open Social and so on.

Below the DDE is our Application Development Kit for independent developers and ISVs to quickly develop their own business components or application templates to be marketed into the U-Kwikshop. ISVs and independent developers can leverage Ubikwiti platform to provide vertical market solution or customize the components for different territories or users.

Even though we started the Ubikwiti with IBM technology (WebSphere Application Server, DB2, Rapid Application Developer) under the IBM Teaming Agreement that helped us on SOA compliant, we are currently hosting the Ubikwiti in Amazon EC2 running on Sun's stack (OpenSolaris, Glassfish, MySQL, NetBeans) as the whole platform are architected using the open standards such as EJB, JavaScript, AJAX, SDO, SOAP, WSDL.

We are currently focusing on the cloud-computing model, but Ubikwiti is ready for on-premise customers too. We had been validated on bundling and deploying with IBM Express Runtime by IBM Innovation Center.

Friday, April 3, 2009

Thinking behind the POS Receipts component for the Online Retailer template

As the website service providers are part of the Ubikwiti ecosystem, we need to provide business template as the accounting back-office to those shopping cart provided by website service providers. Very quickly, we can come out the Online Retailer template to fulfill the back-office accounting objective, but how do we integrate with the shopping cart?

First, we have to see the shopping cart as just another form of POS (Point of Sales system), and at the end of the business day, it needs to summarize the sales and post to the back-office.

Second, we have to assume that most of the shopping cart systems in the market are proprietary, which means we cannot hardcode the integration point into our program.

The outcome was that we developed a POS Receipts component, just another business component defined in XML files. This component allows user to enter the sales summary by any sales categories defined by user, and the transactions will just flow into the accounting normally.

This is just the starting point of POS integration. This component will be equipped with load/import function once we receive request to import some specific shopping cart data. This component will also be opened up as another web service (SOA compliant) for shopping cart software developer to consume and post the sales directly to the back-office.

These are quite easily done and thanks to the power of the DDE.

Friday, March 6, 2009

Free Facebook Platform Application - Personal Expenses

We are releasing our first Facebook Platform Application - Personal Expenses today. Exciting! We are going to tap into the most popular social network as part of our ecosystem now.

This is a very simple application, keep tracking of your personal expenses, but it can be very useful in this trouble time. It can be used as the tool for the "China's young opt for 100 yuan a week budgets", where I got the idea from when we started building this first Facebook Platform Application.

The Facebook widget was developed in PHP using iframe approach interacting with the Personal Expenses application in Ubikwiti. As Ubikwiti is SOA compliant, the interaction is in standard web service approach. In Ubikwiti, the Personal Expenses application is 100% definition-based like other Ubikwiti applications that we developed in the past.

The Facebook widget merely just an add-on user interface to the standard Ubikwiti application. Means, user can create and use the same Personal Expenses application in Ubikwiti without touching the Facebook widget at all.

To make the platform more flexible and expandable, we created a common gateway in PHP to consolidate all Facebook widget service requests/responds and channel to Ubikwiti in SOAP/web service. This will allow us to build widget for other platforms such as MySpace, Google Open Social, WebEx Connect much easier. Another extend of loosely-couple design.

The project proven again how powerful our Definition-based Dynamic Engine (DDE) is. Let me try to illustrate it here with the use case of Facebook user record an expense transaction,
  1. Facebook widget AJAX the PHP gateway with user entered data
  2. PHP gateway converts the user data to a XML, and SOAP to Ubikwiti web service
  3. DDE instantiates the Record Expenses business component from definition file (XML)
  4. DDE converts the XML to DTO (Data Transfer Object) and pass to the Record Expenses object
  5. Record Expenses object execute the business process defined in the definition file
  6. DDE responds to PHP gateway in turn to the Facebook widget on the result
  7. Facebook widget uses the same channel to get the "My latest 3 records" and "My balance"
If you can see what I tried to illustrate and followed my previous postings, you should be able to realize that the Facebook user can sign-in to Ubikwiti and change the business rules/processes using the DIY-GUI tool as all the business components are just definition file. Also the user can add more components to the application from the U-KwikShop if needed.

Isn't this brilliant?

Monday, February 23, 2009

Coghead R.I.P - Sad but expected

Sad to read the news from InformationWeek about

SAP Buys Cloud Computing Startup Coghead

"Coghead's service continues through April, but SAP will shut customer obligations and relationships down after that. "

One of the high profile players in the dynamic business application platform is quitting soon. Even though this is a unfortunate case, but I think this is hard to avoid for Coghead base on my comments to our Strategy Committee in middle of last year below,

Coghead has very high profile, but very lousy result I would say. They spent 5 years (since May 2003) with big support to reach this stage which is still far to what the CEO is saying, "tech-savvy business people who have never before had access to an easy-to-use, do-it-yourself solution to their application needs. ", as compare to what we have achieved in less than 6 months time with such a limited resources.

I tried to create a simple checkbook application from scratch. The user experience was lousy. The tool looks good in demo, but when put my hands on it, it is not as shown.

The Form Editor tool was not easy to use, even simple task like resize the fields and reposition them as I want using mouse. You cannot use mouse to resize, but have to manually type in the width in a field hide behind the Widget tab. After changed the width, I tried to reposition 2 fields side by side, but the system rejected it and reverted the field size that I have changed to original size. After few tries, still cannot put my Account Type and Account Number fields side-by-side.

They use BPEL for the Action and process flow, which is a good thing, but the tool again is not easy to use. I can't figure out how to do a simple business rule like negative value check. When I made mistake, it just prompted me the system error and didn't suggest me what's wrong with my Action. I don't think business user can use this tool.

Finally, save the Action, and tried to create a new record to save, and I got this message.

At the end, I can't even complete a Bank account setup screen.

In short, they are not ready or even close to develop software or application development tool for business user.

Wednesday, February 18, 2009

We developed and released 4 applications in 1 week time

How fast can a team of 7 develop 4 real world business applications? With Ubikwiti, the answer is one week. We developed around 17 new business components (mostly customized from existing components for different industry or usage) and configured them into 4 different applications (we call them as templates, on top of the Product & Services that we released as an alternative to QuickBooks Online Basic),

  • Accounting for Professional Consultant

  • Simple Cash Management for small business

  • Personal Cash Management

  • <name not disclosed due to marketing reason>

What development processes have we covered in this one week time? We have done,

  • Create business scenario

  • Define business processes

  • Define related new components

  • Configure new applications from the components

  • Unit testing

  • Overall User Testing

  • Publish to live server in

  • End user simulation testing

The declarative application development concept, Definition-based Dynamic Engine (DDE), and our business components store (U-KwikShop) is really working! By the way, the team of 7 I mentioned here were 5 business modelers and 2 application designers. No software engineer got involved.

Tuesday, February 10, 2009

QuickBooks Online on iPhone - my impression

After I have setup my Quickbooks Online, I tried to access it via my iPhone ( as stated in the System Requirement from my previous post

My initial impression of the iPhone web app was good and with high expectation, but end up with disappointment as this is only a very basic read-only app. In my mind that this is a iPhone web app, not a native app, which means you must be online to access this app, and also means that you are accessing the live database at that time. I can't add or modify any of the master (bank, customer, vendor, employee), and transaction records (Who Owes Me, Who I Owe). I can understand the synchronization issues of the native app, but I cannot understand why these basic features are missing from the web app.

At least one thing meet my expectation, i.e. when tap on the customer phone number, it prompted whether I want to make a call to the number or not.

Looking forward to a more usable version of QuickBooks Online for iPhone.

Monday, February 9, 2009

QuickBooks Online - only support Windows platform with Internet Explorer

I saw that Intuit has just released a free edition of QuickBooks Online, i.e. QuickBooks Online Free. When I tried to sign up using Safari in my lovely MacBook, I got this. 

Obviously, the QuickBooks Online is tied to Microsoft technology, i.e. ActiveX. Fortunately, I have VMware Fusion with Windows XP and IE7 installed and I managed to sign up.

I can't stop to think about why Intuit decided to tied with Microsoft technology to limit their market penetration, especially the IE market share has dropped to 67% and still dropping. Will other web browsers going to support ActiveX in the future? I don't think so. 

Since this didn't make any logical sense to me, I think the technology used in QuickBooks Online is an art.