Archive for the ‘Business’ Category
Google Forks WebKit
Introduction
WebKit is the underlying HTML rendering library used primarily by the Apple Safari and Google Chrome browsers. It is used in a lot of other projects like the Blackberry Browser, Opera, Tizen, Kindle and even some Microsoft e-mail clients. Even Nokia was a big WebKit user before switching to Windows Phone. Generally it’s been considered a great success, rallying the web around standards and making life easier for web developers.
WebKit is a solid open source project with lots of support. This is one reason it’s so successful. Currently in Internet browsers there are three main HTML rendering engines: the Internet Explorer Trident engine, the Mozilla Firefox Gecko engine and then WebKit.
The big news around the Internet on this front recently is that Google is forking WebKit (meaning starting a new open source project based on WebKit) and then taking it in its own direction with a project called Blink. This raises all sorts of questions: like what it means to web developers? What is Google’s real agenda? Will this damage web standards? Will this slow WebKit development? In this blog posting I want to give my perspective on a few of these questions.
History
Actually WebKit was started out of a similar controversy. Back in 2001, Apple forked the KHTML/KJS HTML rendering engine used by the browser that is part of the KDE Linux User Interface system. Basically Apple wanted something better and more tuned for its OS X project. The result was the Safari browser built on the first WebKit HTML engine. At the time no one in the Linux community was happy about this, but in the end looking back, success makes everything all right.
So now that Google is forking WebKit, claiming that it’s for the same reasons that Apple forked KHTML, will history repeat itself and a much better HTML rendering engine will emerge? Or will this just fragment the market into more slightly different HTML rendering engines making life more difficult for web developers?
WebKit’s Mobile Success
In recent years, now that Android and the iPhone have completely taken over the mobile phone market, developing web sites with HTML5 and JavaScript has become much easier. This is because WebKit is used in both of these families of devices. This means to cover 95% of the mobile market you just need to target WebKit. This greatly simplifies development and testing. Further WebKit follows web standards diligently, it keeps up with evolving standards, has great performance and great quality.
I think that WebKit has been a major contributor to the combined success of both Android and the iPhone. You can easily browse most websites from these devices. Plus when Apps incorporate browser controls they are using WebKit.
Further both Apple and Google are contributing actively to WebKit. It’s been an interesting combination of co-operation and competition. When new hardware devices come out, initially it tends only be accessible for Apps. But Google tends to very quickly add JavaScript APIs for the device to WebKit. Then Apple tends to follow suite quite quickly. Further each is driven to keep incorporating the latest version into their devices since they don’t want to let the other get ahead of them.
One of the worries of Google forking WebKit and going its own way is that we will lose the competitive nature of Apple versus Google that has been driving WebKit forwards.
Why Fork?
So why is Google forking WebKit? A lot of opinion on the Internet is that this is a strategy to sabotage Apple. I guess Google could be egomaniacal enough to think that WebKit will fail without them participating. But Apple is such a big company with so much money and talent, I think they can do just fine with WebKit, after all they did start it without Google’s help. Further I suspect the army of independent open source programmers that contribute to WebKit will continue to do so and won’t switch to Blink.
Google’s official reason is that the code in WebKit is getting too burdened with supporting code for Safari, Chrome and all the other various things it does. That if they take WebKit and remove anything that Chrome doesn’t use then they will have a smaller, faster and easier to develop code base. Basically they claim they want to move the HTML engine forwards more tightly coupled with their multi-processor architecture to improve security and performance. That doing this while supporting competing architectures within the same code base is getting harder and harder.
When Apple started WebKit and later when Google joined it, both Google and Apple were primarily worried about Microsoft and wanted to have Browser technology clearly superior to Internet Explorer. Now with their success, Microsoft is now pretty well non-existent in the mobile world. I think as a result Google isn’t feeling threatened by Microsoft anymore and is turning its attention to Apple. Generally relations between the two companies have been getting colder and colder in recent years.
Actually Google currently only uses the HTML and CSS rendering part of WebKit called WebKitCore. They stopped using the JavaScript component JavaScriptCore in favor of their own V8 JavaScript engine. The V8 JavaScript engine has been blowing away the competition in JavaScript benchmarks for some time now. In fact the V8 JavaScript engine is also the heart of Node.js the highly successful JavaScript server side processing framework. I think Google is looking to get the same sort of success out of Blink that they got from V8.
What’s the Problem?
The problem is for developers. Right now developing good web pages that run nicely anywhere means targeting IE, FireFox and WebKit which then covers the main HTML/CSS rendering engines. Unfortunately HTML and CSS are very complicated and quite subtle. Although all adhere to the published web standards, there are differences in interpretation. Also there are emergent properties that get exploited as features, things that aren’t really in the standard but have appeared in an implementation.
In the mobile world right now, developers have it easier since they can target Android, iOS, Blackberry, Tizen and Symbian by just targeting WebKit. This makes life much easier since you really can develop once and deploy pretty much anywhere. It will be a pity to lose this, and potentially quite expensive for smaller development organizations.
I imagine that many source code files will continue to be shared by WebKit and Blink. But for how long? When will we have to pay attention between differences between Blink based browsers and WebKit based browsers?
Summary
Although I find it appealing that Google is hoping to do for HTML/CSS rendering speed what it did for JavaScript execution speed with V8, I’m really worried that this is going to fragment HTML5 development for mobile devices. I tend to think this will cause more web developers to decide that if I need to develop Android and iOS separately then I may as well do both natively in Apps. To me this will be a sad further fragmentation and polarization of mobile developer communities.
Our Sage R&D Leadership Conference at Newport Beach
Introduction
This past week I had the privilege of attending a Sage Leadership conference that was put on for about 40 of the key Sage North American R&D Leaders. It was held over two days at the Newport Beach Hyatt Hotel. Newport Beach is a beautiful spot with Balboa Island and Back Bay in easy walking distance along with a number of good restaurants. The intent of the conference was to give people a chance to get away from the daily grind of problem solving and routine management to really concentrate on leadership. This is very important at Sage right now as the company is going through a large number of changes to adapt to the fast changing technology/societal landscape that we are now living in.
We had an artist drawing visually what we were doing, so in this blog posting I’ve added a few of her drawings on the relevant topics. They are really quite good and much better than getting an e-mail of PowerPoint presentations.
Sage Vision
The conference got off to a rocky start when the group was asked to stand if you could recite the Sage Vision statement and only a couple of people on the executive committee stood. This then led into a discussion about the Sage brand and the Sage Vision.
Just to be clear, the Sage brand isn’t just the Sage logo and the Sage Vision isn’t just some feel good marketing text that we put under the logo on our brochures. These aren’t about marketing at all, they are about defining the company that we want to become. The Sage Vision statement is:
To be recognized as the most valuable supporter of small and medium sized companies by creating greater freedom for them to succeed.
We then spent time breaking apart and analyzing this statement and then ensuring that what we are working on today aligns with this vision. Some of the key parts of this statement are that we will be recognized, that we do provide value in everything we do, it defines our market segment and defines our goal. We want to give our customers freedom from dealing with accounting matters so that they can concentrate on their real business whatever that may be.
Leadership
After fully drinking the vision cool-aide, we then went about discussing and talking about leadership. A lot of this revolved around being a confident leader. In our ability to inspire our co-workers and to get all the cats moving in the same direction.
We discussed leadership attributes that we at Sage do well, but more importantly we spent more time discussing the leadership attributes that we are lacking and how to develop these.
The diagram then gives a good representation of what was discussed:
Customer Connectedness
Rather than doing a Clint Eastwood and having the customer represented by an empty chair, we actually invited a couple of customers to kick off the second day. We started with a question and answer session to learn about their businesses, to learn about the problems that they are having, about what is working well. Not just for their ERP system but for their whole business in all its aspects.
We were asked to take notes and then when the Q&A was over, the second part was to have our own Shark Tank show. Each table became a team (about five people each) and had 45 minutes to come up with a product idea to pitch to the sharks which in this case were our two visiting customers. They then judged the ideas and awarded a bottle of monopoly money to the team that they wanted to invest in.
This exercise was a lot of fun and was a good exercise of the creative juices. The winning ideas are then going to be fed into our innovation process to see if other customers also think they are good ideas.
It was interesting to watch, since this was entirely developers, that they fell into the same traps that we usually blame Product Management for, namely answering “yes it can” to every question and under pressure on pricing to keep lowing it until it’s a free service.
Innovation
A primary goal of the conference was to foster more innovation in everything we do. One fun exercise was to have all the tables go off into their own groups and put together a play or skit on a day in the life of someone using technology ten years into the future. I blogged on my vision of ERP in 2020 a couple of years ago here. Certainly my vision of ten years into the future was way more conservative than anything envisioned here. Center stage went to voice interaction and general direct input into the brain. In a way projected where technologies like Siri and Google Now along with Google Glasses will be in ten years.
The key theme is that no one will be keying in ERP transactions anymore. You will just do business by chatting and gesturing, sign contracts by shaking hands and all the debits and credits will happen magically (via technology) in the background.
Summary
The conference was a great deal of fun and highly successful. It was good to meet a number of people I’ve only dealt with via e-mail in person finally, as well as a number of people I didn’t know at all. It was good to ensure we are all aligned and working to the same vision and that we are all innovating together toward a common goal of really providing that freedom for our customers to succeed. But more importantly there are a number of things for me to start doing immediately on returning to the office.
Virtualization
Introduction
There was a discussion on LinkedIn the other day, that was started since the latest version of Sage 100 ERP only allows one copy of itself to be installed on a given computer. Many programs operation this way such as most Microsoft products and other Sage products like Sage 300 ERP. The main reason for this is to avoid confusion for users when they are using integration technologies like COM or .Net. Since then it’s easy to know what you are talking to when you integrate from another program. This is also how the Windows Installer works, so if you want to use this technology then this is what you get.
But the topic came up as to what to do to support multiple customers? The answer given was to use virtualization. We use this fairly extensively here at Sage for Development, QA and Support. This blog posting is to cover a bit more fully our uses of virtualization and some of the things we have discovered along the way.
VirtualBox
The Sage 100 and Sage X3 groups use Oracle VirtualBox. This one is nice because it’s open source (Oracle acquired it as part of Sun). I’ve run VMs created with this, but never created one myself or have too much experience with it.
VMWare
The Sage 300 team uses VMWare. It used to be that you could use the VMWare player for free, but now it is only free for non-commercial use, but at least it’s fairly cheap. Generally you only need the Player and not the Workstation version. One nice feature is the unity feature which does an amazing job of integrating the virtual environment with your desktop environment which is good for demo purposes.
For server based VMs we use VMWare because our experience is that the memory usage is much better than the Microsoft Windows Server versions (but I haven’t played with Windows Server 2012 yet). The MS Server ones tend to force a lot of locked memory and you can’t run as many VMs. Our support department keeps a library of all supported operating systems times all supported versions installed, so if a client problem comes up say running XX version 3 on Windows XP 32-bit, then we boot up the right VM and try to reproduce the customer’s problem.
Generally we find it useful to create a base operating system image like Windows 7 (64-bit) and keep a clean copy that we update every now and then with Windows updates. Then when we want a VM we just get a copy of the base operating system and install what we want on top of it. (We also keep some images of popular operating systems with office and SQL Server as a better starting point). Generally to give a quick way to get running when a need arises.
VirtualPC
We used to use MS VirtualPC a lot, but have moved away from it because MS doesn’t seem to be updating it anymore and it doesn’t support 64-bit client operating systems. This one is included with MSDN subscriptions, so it you have one of these, you probably have access to it.
It seems Microsoft is repurposing its VirtualPC software to their XP Mode feature to allow you to run Windows XP only software easily on Windows 7.
Client Operating System Licenses
Generally all the developers at Sage have an MSDN Universal subscriptions so this gives us the licensing to do what we need with the client operating systems. But for most development partners, there is a lot of benefit in having an MSDN subscription yourselves.
Hardware Requirements
One disadvantage of virtual machines in the past has been how large they are (usually around 32Gig). This uses up disk space fast, but with cheap 3TB hard drives, this doesn’t seem to be much of a problem anymore.
I’ve found the main thing you need for good performance in virtual environments is lots of memory. If your computer has 8Gig RAM then you can allocate 4Gig to the VM and still have 4Gig for your base operating system. Even though I find frequently switching back and forth between things in the VM and things in the base operating system can be slow, so I like to work for longer periods in on or the other.
Also quite a few laptops have hardware virtualization support turned off by default, going into the BIOS setup and turning this on can speed up VMs quite a bit.
Summary
To me virtualization software is quite amazing. I’m astounded that I can just run Windows 8 or Linux easily on my Windows 7 laptop. I think virtualization software has come a long way and is still progressing quickly. If you haven’t tried it out recently and you need to keep things separated, then you really should try one of these out. It saves a lot of headaches not having to worry about the installation of one thing messing up something else you have installed.
Linux is Everywhere
Introduction
It’s been a long running joke that at the beginning of each year, probably for the last twenty years, someone prognosticates that this will be the year of Linux. Often this is prefaced by the year of the Linux desktop or the year of the Linux server. But somehow in spite of all the hype, most desktops are still Windows as are a good number of servers.
I don’t really want to prognosticate that this will necessarily be the year of anything in particular, but recently it appears that everywhere I turn, I see Linux.
Telikin
My wife spent November and December in Arizona with her parents who are snowbirds, since I had quite a bit of business travel going on. Since she was there for 2 months she was determined to get her parents on-line. So they could Google things themselves rather than phoning her, so they could e-mail and use Facebook. So off they went and bought a shiny new Lenovo Windows 8 laptop with a touch screen and all the bells and whistles. This turned out to be quite frustrating and they had all sorts of learning and usage problems. The big one being that the touch interface didn’t work well. So they returned it and got a large screen Windows 7 laptop, which my wife thought would be easier since she knew it better and there was no touch stuff. Didn’t go so well. Then they saw an ad for a Telikin PC which was a special purpose PC for seniors with a touch screen as well as a mouse, with special easy to use software which included senior friendly features like large fonts and large graphics.
This actually worked out quite well. They could do e-mails, browse the web, print, upload photos from their camera and use Facebook. They then asked me about recording audio, so I got a freeware program and went to install it. I imagined that the senior friendly software was just a shell over Windows, and I just needed to figure out how to exit that or run a CMD prompt. No luck. I then Googled the computer and to my surprise found out it was powered by Linux! Apparently Linux is making it into the Desktop in a number of special purpose PCs. I then had to point them to a web site that allowed you to make audio recordings and away they went. Further they seem to be able to keep using it now that they are on their own again, since we returned home.
Android
Of course I couldn’t write an article about Linux taking over without mentioning Google’s Android operating system for phones and tablets. Last September, Google announced that 500 million Android devices have now been activated. That’s an amazing number. Basically Android is proving to be the market leader in both smart phones and tablets. Samsung has experienced tremendous growth with their Android devices.
ChromeOS
For laptops, Google is promoting their ChromeOS which is a minimal Linux based computer that is more oriented being a web browser. Surprisingly ChromeOS based laptops have topped the Amazon best seller lists for laptops in recent months. These are special purpose devices, but are gaining quite a bit of traction.
Tizen
Tizen is another open source Linux based smart phone operating system. This is being promoted as even more open than Android. It is being picked up by several Chinese phone manufacturers as well Samsung has announced they will be releasing Tizen based phones. Partly this is in reaction to Google shipping Google branded devices in competition to their hardware partners.
Ubuntu
Ubuntu has been a leading Linux distribution that has gained quite a bit of traction on the desktop. It is a full distribution of Linux and not one of the special purpose limited sets. Now Ubuntu is developing a smart phone version of their Linux version. The idea is that when the phone is mobile it runs a limited set of programs in a manner similar to Android or Tizen, but when you dock the phone and it’s connected to a monitor, keyboard and mouse, then you get the full Ubuntu distribution. This way your phone is also your laptop and tablet.
This is rather an interesting idea that the phone is your computing core with all your files and programs on it. Then depending on the hardware, connectivity and power you get the subset that is appropriate for that usage.
Raspberry Pi
The Raspberry Pi is a $25 computer that is oriented to hobbyists. It is based on the ARM CPU and runs Linux. The Raspberry Pi doesn’t even come in a box. But since it just recently went on sale, it’s already sold 1 million units. This has certainly woken up the home hardware hobby industry and I suspect the core design of this will end up in many other devices.
Everything Else
At the recent CES show, there seemed to be a plethora of special purpose Linux based appliances from intelligent fridges to Linux being the operating system for your car. I don’t know how many of these will be successful but it appears that nearly everything is getting a CPU, memory and connectivity. Whether these have any lasting value or are short term gimmicks is yet to be seen.
Programming
As a programmer we want all our programs to run in as many places as possible. These days the market has become quite fragmented between Windows, MacOS, iOS and then all the Linuxes. One way to program for all these devices is to use HTML5/JavaScript since they all have Internet connectivity and good browsers like Firefox or Chrome. Another way is to use Java which runs on all these as well. For Windows, Linux and MacOS you can also use C/C++ and just isolate the operating system dependent parts in separate modules to handle differences in things like mutexes and file locking. Unfortunately besides using HTML5/JavaScript the preferred native way to create User Interfaces is completely different on all of these and tends to lead to very different ways of doing things.
Summary
It seems that Linux has been making inroads slowly in all sorts of places. Now all of a sudden it seems to be everywhere. I think this is a great tribute to what can be accomplished with open source software and how a great many profitable ventures can be based on it.
Voice Input and Concierge Services
Introduction
Some of the most exciting new technologies appearing on mobile phones are around voice recognition and concierge or personal assistant type of applications. These include ambitious applications like Apple’s Siri, along with a number of initiatives from Google including Google Now and Google Voice Search.
The voice recognition by itself is a truly amazing technology, but this is only a fraction of the story. After the voice input is recognized the query is combined with other input, like your location, to determine a lot of context for what you are asking about, identifies the problem domain and gives a truly meaningful answer along with relevant data to correctly answer or respond to your query.
Of all the technologies on Star Trek, we don’t see any sign of a working warp drive or transporter, but being able to ask a computer anything on any topic and get a good answer, we seem to have that now. So perhaps if Star Trek IV was set another ten years ahead, then Scotty wouldn’t have had any trouble interacting with our primitive computers.
Device or Service?
An incorrect assumption is that you can integrate apps running on your phone to these services. This is the wrong way to think about how they work. They aren’t a voice recognition/query engine running on your device. In fact they send all the (nearly) raw input to a major data center to process them. Even though there isn’t a device API for accessing Siri, developers have found clever ways around this, by putting clever things in the contact list and constructing special text messages, but again this is really just using Siri as voice recognition software. The real intent of Siri is much deeper; it’s really a task completion engine.
These engines are really taking your voice input and then mapping them to various problem domains which then talk to many APIs on the backend. The goal isn’t to run an app and then just provide a voice recognition engine that translates voice commands into regular app commands as if the user had typed them. The goal is really that you don’t need device apps. When you ask Siri a question, you don’t need a matching app running, if you ask about airline info, it gets it, if you ask about weather, it gets it. You don’t need to run the right app.
In a way a limitation of current mobile phones is the need to download and install so many apps. Do you really need all of these? Most of the apps on my phone are specialized query information gathering apps like weather, news and such. The real beauty of these new personal assistant type applications is that they eliminate the need for all these other apps. Wouldn’t a phone or tablet be much easier if you didn’t need to find and install all these apps? Isn’t this the original appeal of the Internet to PC users? You don’t need to install dozens of applications (which got more and more painful); all you needed was a Browser and nothing else. To some degree these personal assistant applications become a workable Browser for mobile devices, where you no longer need all these apps anymore. Sure there are some special purpose apps for playing games and performing specialized functions, but generally you can just use Siri, Google Voice Search or Google Now for most things that you probably use Apps for now. Sure these aren’t perfect yet, just like the original Netscape Browser wasn’t perfect, but they are getting there very quickly.
Integrating to ERP and CRM
OK, so we don’t integrate to these new services via Apps talking to APIs on devices, so if we want to integrate our CRM or ERP into say Siri, how do we do it? Suppose we want to ask Siri what is the status of an Order from a vendor, or we want to ask Siri what is the credit limit of a customer I’m about to visit?
The key is to have this information available on the Internet via RESTful Web Services like SData. The reason for RESTful Web Services is that they allow discovery by search engine spiders. Generally shortened URLs give the list of how to build the rest of the URL, this allows a general engine to discover all the data. RESTful Web Services are the new Internet standard and all these services are built to interact with them.
The key is for vendors (like Sage) to make the right agreements with these services, so that the data can be accessed in a secure way, and you aren’t doing something like exposing all your ERP data to the Internet in general. Security and the rules for who can access what are crucial. Standard sign-on mechanisms like OAuth are going to have to be used.
The other thing is that all this data must be in a central location. This means that any ERP or CRM data that is going to be available to these services must be sync’ed to a central cloud location. This then fits in with Sage’s connected services strategy of sync’ing key on-premise data to the cloud (of course if you are already running your CRM or ERP in the cloud then you can skip this step). I blogged about Sage’s Hybrid Cloud here. From Sage’s Hybrid Cloud we can expose the correct data via SData Web Services for anyone that wants to participate in these services. Then Sage can make the correct deals with the services and is responsible that all the security concerns are setup correctly.
This can then lead to a company’s employees and customers being able to make general inquiries into these services and for the right questions have them mapped to a problem domain in the ERP or CRM space, have the backend systems provide answers with relevant data added from the Hybrid Cloud.
None of these services would look into the Hybrid Cloud in real time, they all operate like Search Engines which are continuously polling sites and updating their master databases, then for performance reasons all the real queries are handled as highly optimized Big Data queries against a master search database, so that all questions are magically answered instantly.
Overtime the questions answered can become more and more sophisticated, incorporating more and more sources of business data. Perhaps you can ask Siri: What’s the best way to increase my company’s revenue? And then get back a useful answer.
Summary
I think these personal assistant type applications are going to become more and more prevalent in the mobile world (or even on regular computers). To me it’s exciting to consider participating in this and to think about all the questions that we can help answer.
The End of the Smart Phone Era?
Introduction
I saw this article in Business Insider “The End of the Smart Phone Era is Coming” and was just wondering what effect this would have on business applications like ERP and CRM. Basically will we all ditch our smart phones in exchange for smart eyeglasses? Do we want a virtual world super-imposed over the real world? Is this the way to really be always connected all the time?
Google made a big splash by introducing their vision with this video. Some of the initial reaction ranged from that this was the greatest thing ever to that now you would have absolutely no privacy since Google would see and hear everything you see and hear. Below is a Google glass fashion shoot.
Judging by recent patent applications, Microsoft is also working on something similar. Below is a diagram from Microsoft of some of their thinking.
ERP and CRM
In my world we’ve been battling with moving fairly complicated business application to mobile devices like tablets and phones. We’ve been battling with fitting large amounts of data onto much smaller screens. In a way large flat panel desktop monitors are great for our applications since you can see and manipulate large amounts of data. But sadly everyone wants to do this on their phone, so how do we do that? At this point we are getting a grip on how to do business applications on devices. We are getting a grip on how to handle touch as the input mechanism instead of the keyboard and mouse. We are getting a grip on how to handle the fact that the app isn’t always connected to the network.
Now we hear that smart phones and tablet are just as obsolete as the desktop PC and laptop! So in this world, not only do we have a small screen, but we have to share it with the real world. Plus we have a whole new input model where it’s a combination of voice recognition and eye tracking technology.
I don’t think we’ll want to just super-impose our regular Order Entry screen onto the glasses over the real world. I suspect that rather than port our existing ERP and CRM functionality to glasses, more likely we’ll be re-inventing the way we do many business processes. This probably means a proliferation of new apps.
Physical Inventory Counts
One good application I was thinking of was to do physical inventory counts. This is always a painful but necessary process to catch theft and errors. Now you will be able to run your inventory count app in your glasses. As you walk around the warehouse, you just need to look at boxes and have the glasses record the barcode or QR code to count the inventory. For other items, perhaps you can look at something and then double-blink, the software then compares the visual image to all the pictures in the inventory database to find a match and count that item.
Sales Calls
Now you can have a glasses CRM app. Rather than bring up all your customer information on a tablet and keep referring to your tablet, you can see all the information on a customer right before your eyes. The glasses app will bring up the customer for you automatically based on your location and facial recognition software. Then the glasses can present to you all pertinent information on the customer, like his sales history, buying habits or that he’s late paying his bills. This should really impress your clients since it will appear that you care enough about them to know off the top of your head every detail about them. Then further the glasses can have recorded the whole chat, so if there are any disputes later, they can be reviewed.
Pottery Barn
In our nearby Pottery Barn, the items in the store are for display only. If you are interested in something, you need to talk to a salesperson, who looks up the item on their tablet to find out if they have it in stock in the store, in a local warehouse, in a regional warehouse or will need to get it shipped from the manufacturer. Now there could be a glasses app that identifies the item you are interested in, perhaps by staring at its QR code and double-blinking. Then it can bring up additional catalog information on the item, including delivery logistics and such. Generally this could streamline the whole (painful) process of shopping at Pottery Barn.
Summary
Will the widespread use of such glasses lead to the true surveillance society? Rather than just a plethora of security cameras recording everyone’s movements, will now everything anyone sees and hears through these glasses be recorded and accessible to law enforcement and the government? Or will we manage the privacy concerns and bring in a new generation of connected uses who look on our current phones as archaic as we look back on the original Motorola brick cell phones?
Sage Insights and Summit Conferences, Wellington 2012
Introduction
This year Sage had its regional partner conference for Australia, New Zealand and the Pacific Islands in Wellington, New Zealand. This is the first time this conference has been held outside of Australia and was a great success. Since we were there already, we also had a customer conference a day before the partner conference started. The customer conference is Sage Summit and the partner conference is Sage Insights. After Wellington, Sage had two more customer Summit conferences in Sydney and Melbourne.
Wellington is located on the southwestern tip of New Zealand’s North Island. It has a population of around 400,000 people and is the capital of New Zealand. Wellington is a very compact city with the downtown nestled between the harbor and some hills. I took the picture above from the top of Mount Victoria looking back on downtown. You can easily walk from one side of the main downtown area to the other. It’s a fun place with a very vibrant arts scene, café culture and nightlife. While we were there the city was gearing up for the global premier showing of the new Hobbit movie which will be a giant party, unfortunately we were ten days to early. Certainly Lord of the Rings and the Hobbit are playing a large part in New Zealand tourism promotions and attractions around the country (see the picture at the bottom of the giant Golum over the cafeterias at Wellington airport).
Weta
The guest speaker at the gala awards dinner was Wayne Stables from Weta Digital. Weta did the special effects for movies like Avatar, Lord of the Rings, Prometheus, The Avengers, Tintin and Rise of the Planet of the Apes. Amazing work and many academy awards received. Interesting to see their development processes. They are preparing for the work on Avatar 2 right now, working on what is really their DevOps process to streamline the production of software into the video workflow. Interesting to think about their tight deadlines and how they have to deliver top quality each time. Since they are a separate entity from the studios, they have no job security from job to job. In business software we aren’t producing anything as beautiful as Avatar, but at the same time we want to produce screens with an excellent user experience, but at the same time deliver software to end users very quickly. I think that we can learn a lot from the movie and video games industries on how to deliver higher and higher quality user experience, but still stick to tight deadlines.
ISVs
The Sage ISV community is very active in Australia and New Zealand. Some local representatives exhibiting were Technisoft, Pacific Technologies, Enabling IP, Orchid, Redmap, BSP Software, InfoCentral Solutions, Modulo Software, Netfira, On Center Software, Wageeasy and XM Developments. Then there were a number of exhibitors that had travelled from other regions including Iciniti, AutoSimply, Accellos, ACDEV Software, Accu-Dart, Altec, Enbu Consulting, Global Software, idu Software, Netstock, Tema Business Systems and Vineyardsoft.
There were several new SDK modules on display. It’s great to see accounting modules for new verticals making it to market and new bits of functionality being added to the existing solutions. Plus there were several additional ISVs that attended but didn’t have booths.
Redmap is an interesting ISV. They became an ISV by becoming a Sage customer first. They were originally a Netsuite customer, but the spiraling costs of Netsuite drove them to look for another solution and they chose Sage ERP X3 (see the articles here). Redmap creates a document automation and management solution. Now that Redmap is a Sage customer they decided to integrate their solution to Sage 300 CRE, Sage 300 ERP and Sage X3 ERP and to market this solution globally.
Hybrid Cloud
As part of the keynote, myself and Mike Lorge the Managing Director talked about the Sage Hybrid Cloud and showed off a number of connected mobile services running against this cloud. I blogged on the Sage Hybrid Cloud here. It’s always nail biting to demo something at a keynote that relies on an internet connection. I demo’ed the Service Billing connected service from my iPhone 4S, I just turned on data roaming for the demo, since then I didn’t need to worry about hotel Wi-Fi and the 3G seemed to work fairly well in Wellington. Keith Fenner demo’ed the Sales Manager service on his iPad connected to hotel Wi-Fi, which actually held up. So we got through that with the connections from the devices to the projector working and the internet connectivity working. Certainly adds some new challenges to giving presentations. On the other hand we are telling businesses that these are reliable services that are available 99.9… % of the time, so we should be confident they will work during keynotes and other demos. We also showed the Sage Connected Services Vision video which is on YouTube here.
Products
The keynote also covered the latest releases of Sage CRM, Sage 300 ERP and Sage ERP X3 along with some peaks as to what will be coming in future versions. Sage 300 ERP 2012 has just been released in this region, so people are just starting to get it. So this was a good time to highlight this release and point out all the various features, plus we also talked about the roadmap for the next 3 years. Sage CRM showcased some exciting developments with CRM running optimized for mobile devices as well as showing the next generation of social media integration. Sage X3 ERP highlighted many relevant features in the current version and gave a video of the Syrapedia feature coming in version 7.
Summary
All the partners, customers and staff from our Australia, New Zealand and the Pacific Islands region are very enthusiastic and dedicated to what they do. It is always very energizing to attend such conferences and have the chance to interact with so many people. I have tons of feedback to bring back on our products and our processes that hopefully we can incorporate to keep a real positive feedback loop going.
The Sage Hybrid Cloud
Introduction
We introduced the concept of the Sage Hybrid Cloud along with a number of connected services at our Sage Summit conference back in August. This is intended to be a cloud based platform that greatly augments our on-premises business applications.
This blog posting will look at this platform in a bit more depth. Keep in mind that this platform is still under rapid development and that things are changing rapidly. If we think of better ways to do things, we will. We are approaching this with an Agile/Startup mentality, so we aren’t going to go off for years and years and develop this platform in a vacuum. We will be developing the functionality as we need it, for our real applications. This way we won’t spend time developing infrastructure that no one ends up using. Plus we will get feedback quicker on what is needed, since we will be releasing in quick cycles.
The Hybrid Cloud Platform
Below is a diagram showing the overall architecture of this platform. We have a number of cloud services hosted in the MS Azure cloud. We have a number of Sage business applications with a connector to this cloud. Then we have a number of mobile/web applications built on top of this hybrid cloud platform. Notice that pieces of this platform are already in use, with Sage Construction Anywhere (SCA) being a released product and then Sage 300 CRE already having a connector to this cloud to support the SCA mobile application.
The purple box at the bottom represents our current APIs and access methods, and just re-iterates that these are still present and being used.
The red box indicates that we will be hosting ERPs in this environment in a similar manner to our current cloud offerings like Sage300Online.com. We’ll talk about this in much more detail in future blog posts. But consider this Sage hosted applications version 2.0.
Mobile Applications
We demo’ed a number of mobile applications that we have under development at Summit, some screenshots are here. We are working hard to make these applications provide a first class user experience. We are developing these in various technologies and combinations of technologies to drive the user experience to be the best possible. We are writing both HTML5/JavaScript applications using the Argos-SDK, along with writing applications as native iOS, Windows 8 Metro and Android applications. Plus there are technologies that allow use to combine these technologies to use them both where they make sense in an application.
These mobile applications aren’t just current ERP screens ported to mobile/web technologies, they are whole new applications that didn’t exist before these powerful mobile devices came along to enable these ideas.
ERP Connectors
Each ERP needs to connect to the Hybrid cloud, this is to upload files for items that are needed for lookup in the cloud devices like for finders. As well as to download transactions to enter into the ERP on the connected application’s behalf. The intent is to have one connector for each business application, rather than having to install and configure a separate connector for each connected service (which we hope there will be dozens of).
We want to keep the TCO of the solution as low as possible. To this end we don’t want the end user to have to configure any firewalls, DMZ or web servers. The connector will only call out to the cloud platform. There will never be calls into the connector. Additionally you only need to configure the connector once with your SageID and away you go.
The connector will use SData Synchronization to synchronize the various files. This way it doesn’t matter if your on-premises ERP is off-line, it will catch up later. This makes the system much more robust since your mobile users can keep working even if you turn all your computers off completely.
SData
We will use SData as the communications mechanism from the hybrid cloud. The cloud will host a large set of SData feeds to be used either by the mobile and web applications or by the on-premises ERP connectors.
Since SData is based on industry standards like REST, Atom, RSS and such, it means it’s easy of pretty much any web or mobile based framework to easily use it. All modern toolkits have this support built in. Plus we provide SDKs like the Argos-SDK that have extra SData support built in.
ISVs
The intent will be that ISVs can use the SData feeds from the Hybrid Cloud as well to develop their own applications or to connect existing cloud based applications to all our Sage business applications. However we won’t start out with a complete database model, we will basically be adding to this cloud data model as we require things for our Sage developed solutions as well as for select ISVs. The intent is to get common functionality going first and then fill it in with the more obscure details later. For instance most connected services will need to access common master files like customers, vendors and items. Then most connected services will need to enter common documents like orders and invoices.
The feeling is that most integrations to ERP systems actually don’t access that many things. So the hope is that once the most common master files are synchronized and once the system accepts the most common transactions, then a great number of applications will be possible.
There will also be parts of the cloud database that don’t have any corresponding part in the ERP. There will be a fair bit of data that resides entirely in the cloud that is specific to the cloud portions of these applications.
SageID
When you are signing on to all these various connected services, we don’t want you to need a separate login id and password for each one. We would like you to register a user-id and password with Sage once and then use that identity for accessing every Sage connected service.
Ultimately we would like this to be the user id and password that you use to sign-on to our on-premises applications as well. Then this would be your one identity for all Sage on-premises and cloud applications. Then all your access rights and roles would be associated with this one identity.
Summary
The Sage Hybrid Cloud is an exciting project. The concept is that it’s starting small with the Sage Construction Anywhere product already shipping and then going to develop quickly as we add other services. This should go quickly since we are leveraging the R&D resources of many Sage products to get new exciting mobile products into market quickly spanning the customer base of many Sage business applications.
Some Experiences from Blogging
Introduction
I’ve been writing this blog for nearly four years now. I’ve written 175 articles and there have been 940 comments (many of these responses by myself). This is a bit of a self-indulgent article on my experiences blogging. Partly because I think blogging is a great communications mechanism and partly because I need a topic this week. I’ve managed to get my readership up to a bit over ten thousand views per month now, which given the specialized topics I blog on, I tend to think is pretty good. I get a quite varied readership with all parts of the globe being represented.
Format
I use WordPress. I didn’t do a lot of research to pick it, I just noticed several blogs that I liked used it and gave it a try. I found it really easy to get going and have basically stuck with it since. It’s important to keep your blog URL the same so people can continue to find you. I never paid for a personalized URL, so if I ever did want to switch away from WordPress it would be hard, since I would need to change the URL of my blog. I’ve only ever used the free version/functionality and never paid for anything, though WordPress makes some money off me by having a few adds on my blog now and then.
I write my articles in MS Word. Then I copy/paste them into WordPress. WordPress preserves most of the formatting so I don’t need to reformat things usually. Sometimes it messes up, but I tend to keep the formatting simple so I don’t confuse it. The pictures don’t copy across, so I need to insert them separately when done.
I don’t really like the contents/indexing of blog articles that WordPress provides, so I use the custom page feature to keep some tables of contents and directories of articles more in a way that I prefer.
Gaining Readers
When you start a blog and post it on a site like WordPress, even if you don’t do anything, you will still get a few views, even if it’s only a dozen a week. So how do you get readers? How do you keep them coming back? There are a lot of articles and blogs on how to promote blog readership, but these are a few things that I find work.
- Google is king. Most of my views come as the result of Google searches or Google image searches. Usually several hundred from Google and then one or two from Bing, Yahoo, AVG Toolbar, etc. Towards getting good Google results, check your page rank (using the Google toolbar or the Chrome application). If you’re not progressing (from 0 to 1 to 2 to 3) over a year or so, you might need to rethink things. Make sure you get your friends to link to your blog from any blogs or websites they have, since Google largely rates things by how many other sites link to it.
- LinkedIn is a great way to promote your blog. If you know your audience and can connect to your audience via LinkedIn, then they will see notifications of your posts on LinkedIn, as long as you set it up correctly.
- Posting notifications on relevant Facebook pages generates a few views, but at least for me, the audience is wrong and I don’t get many views this way.
- Reddit. Since Digg died, Reddit is supposedly the main referral site for articles. However most blogs are just rejected by the various topic editors and it’s very hard to keep good referrals here. I’ve only managed to do it once, but it did payoff with a record day. But generally I find Reddit too much work.
- Write regularly. If you write regularly then people will subscribe to your blog to be notified either by e-mail or RSS every time you post. Subscribing readers are the best kind of readers. Plus Google (see #1) favors sites that keep posting original content. It doesn’t take long for all that content to add up to a pretty sizeable set of reference material.
- Build a twitter following. Tweeting is a great way to promote your blog. I found Twitter worked better a few years ago. My theory is that so many people tweet now, that your posts tend to get lost in the general sea of tweets. Google is putting a bit more weight into social media references, so it can’t hurt.
- There are sites that claim if you pay them, they will find you all sorts of readers and send your viewership skyrocketing. I don’t really believe this and have never paid for such a service. I’ve also never paid for things like Facebook or Twitter to promote my posts.
- Have relevant keywords. But don’t go overboard. There has been so much abuse of HTML keywords, that most search engines just ignore them and go for the content. A few good keywords is good, but if you add every word in the dictionary it just makes your page slow to load and the search engines will ignore them. The search engines are much better at deriving these from your content these days.
Generally unless you are a celebrity (or blogging about celebrities), your number of viewers won’t be in the millions (or even hundreds of thousands). But getting a readership in the thousands or tens of thousands isn’t that hard. It just takes consistency, good content and a bit of perseverance. Also remember that if you are blogging on a technical topic, your whole total audience may not be that big, due to the high levels of specialization we see these days.
Geographic
WordPress now will categorize your readership by country. This is based on your IP address which isn’t perfect. At our Sage Richmond office, our internet is routed through Irvine, CA. So if anyone in the office (in Canada) reads my blog then it counts as US (since this is how the IP address is assigned).
My readership tends to follow proportionately where Sage 300 is successful. But there are a few anomalies. Strangely I get quite a few views from Brazil, even though we’ve never really sold Sage 300 there.
Stats
Blogging software like WordPress is great for providing you all sorts of statistics. Like tracking your viewers over the years, telling you which countries follow your blog the most, telling you who is referring people to your blog. I find keeping an eye on these statistics is very addictive. Plus it’s a great feedback mechanism where you can experiment and then get some real data on what the affect is.
Feedback
Blogs are a great way to get feedback. People are quite willing to share their thoughts with you. Generally it’s a good idea to prescreen comments to eliminate spam and other unsavory remarks. It’s amazing how many online scams try to propagate by posting comments on blogs.
Versus Tech Support
I do try to answer most of the questions posted to my blog. But remember it isn’t tech support. When you open a tech support ticket, it is tracked and they will keep working on it till it’s solved. For my blog I might not have any idea and not answer, or I might be busy and it falls through the cracks. Or it requires more back and forth than can be achieved via blog comments. Also remember that blog comments aren’t a replacement for on-line forums, these are much better at gaining answers from a community of people. One of the goals of my blog is to reduce tech support, but blogging on topics that give people trouble or by blogging on ways to troubleshoot problems. But in the end if you really do need an answer and you need things to be followed up and escalated then please do call tech support.
Summary
I find blogging a very rewarding activity. One saying that I take to heart is that you don’t really understand a topic until you can teach it to someone else. I find I learn a lot researching for blog posts and that it can really crystalize my thinking when going through the process of writing an article.
Plus it is enjoyable to attend conferences and have people come up to me and say that they regularly do read my blog.
Sage Vision 2012
Cambodia
The Sage Vision 2012 conference was held in Siem Reap, Cambodia this year. This conference is for Sage business partners located in Asia. Siem Reap is an UNESCO heritage site for all the various Hindu and Buddhist temples from the Khmer Empire in the 9th to 15th centuries, including the ancient wonder of the world: Angkor Wat.
Modern Cambodia is a terrific place to visit with very friendly people and some really impressive things to see. It’s amazing that Cambodia has progressed as much as it has, since it was really only re-formed as a kingdom in 1993 after suffering so many years of the Vietnam war, Pol Pot and various civil wars. Visiting the war museum was really an eye opening experience to see the suffering that the people endured.
Conference
The majority of our partners in the region are from Singapore, Thailand and Malaysia. But many other countries were represented. Right now we are actually seeing the most growth from Indonesia. This conference focused on the Sage 300 ERP, Sage CRM and Sage ERP X3 products. There were intensive training tracks on each of these. Then there were also general sessions on various aspects of all these products.
The conference started with a keynote address that was introduced by Gee Sing Low, Sage’s General Manager for the regions, followed by Keith Fenner for Sage X3, then Lorcan Malone for Sage CRM then myself for Sage 300 ERP, and then Charles Cheng showing off our revamped partner portal web site. This was then followed by the trade show for ISVs and then a cocktail reception by the pool.
There were then two days of sessions and then wrapped up on the last night with the partner awards gala dinner.
The keynote went well; it was nice that we could weave a story where we cover the ERP market from the lower to higher midmarket with Sage 300 and X3. How we have a number of shared components tying things together like Visual Process Flows, shared connected services as well as linking to a common front office solution with Sage CRM.
ISVs
About a dozen ISVs were at the conference. They had sessions on their products as well as booths in the trade show area. Some of the ISVs present including: Pacific Technology Solutions, Technisoft, Norming, AutoSimply, Peresoft, XM Development, AcDev and iCube.
Sage provides the core ERP solution and then ISVs provide solutions for various vertical industries. To a large degree an ERP package is a development platform first, and a business application second. We provide the core applications and then ISVs provide specialized solutions for various vertical markets. Generally the success of an ERP package depends both on the strength of the core solution combined with the strength of the ISV community.
Community
I’ve attended many Sage 300/Accpac conferences over the years starting with the series of CA-Worlds in New Orleans. I’ve now attended many South African, Asian, North American and Australian Sage conferences. I’m always struck by the sense of community among all the Business Partners. Many were involved in the original Accpac Plus days. Many have been fierce business rivals for over twenty years, but it always seems like a family reunion at these conferences. Generally a lot of strong friendships and tight bonds have developed over possibly thirty years of working in the Sage 300/Accpac community.
Internet Connectedness
I gave a demonstration of our forthcoming Service Billing connected service running on my iPhone during the keynote presentation. Currently this is an HTML/JavaScript application written with the Argos SDK. At present this has no offline ability, so must be demonstrated while on-line communicating back to a server hosted in Microsoft’s Azure US West Coast data center. In Cambodia, I could rarely get data connectivity with the provider that Roger’s partners with over there, so I had to use the hotel Wi-Fi for the demo. Generally this is a no no, especially at technology conferences where all the attendees are connected to the Wi-Fi as well.
To me, it’s amazing that this demo actually went quite well. It really demonstrated that we do live in a very connected world. I was easily entering service tickets into my ERP while on the road ten thousand miles away in Cambodia. If things work here, I tend to think they really should work anywhere.
Summary
Sage Vision 2012 was another fun and informative conference. I have lots of feedback to bring back home. I visited many interesting sites around Siem Reap. I accumulated many air miles. I find all these conferences are always a worthwhile endeavor.





















