Page 2 of 20

My Thoughts–RIM/Microsoft

This morning I am feeling a bit Nostalgic. Maybe my age is showing or I realize how I grew my career though some many changes in technology. In the last few days BlackBerry formally Rim laid off 4500 people and then proceeded to enter into a agreement to sell itself to a Private Equity Firm. This hits home 2 ways. The first is because I am based in Cambridge, Ontario, just 15 short minutes drive to RIM part in waterloo. I have friends that work at BlackBerry who will be effected by the events. The second reason was that years ago I was heavily involved in BlackBerry development working on a Mobile platform before there were Mobile Platforms.

I have to say that I was quite proud of my effort on those projects and thrilled what was accomplished where our mobile tools could customize, compile, deploy and  run on both BlackBerry and Windows Mobile devices. Ultimately the company was purchases and that in itself I believe was an exciting thing to go through.

Now looking back at RIM and now Microsoft I find it interesting how much things Parallel between the two companies when it came to some of their mobile strategies. I believe I am I a position based working on the toolsets in the earlier years to comment. During that Time I interacted with both members of RIM and Microsoft and ultimately the lack of vision seems to have determined the fate of one company and severely impacted the other.

During our conversations neither customer could see their current demographics needs and it seemed at least to an observer they were unwilling to listen to their community. I also think that the earlier Microsoft devices were highly underpowered to handle the workloads that we needed in the business community. The earlier releases of .net on the devices were slow and missed many core features that the business community needed.With RIM we had been driving for on phone cameras, removable SD cards .. Things that if their phones had years earlier would have had a toe hold in the consumer market.

Now RIM has disappeared from its former glory and shortly we will see its fate shake out. With Microsoft they are pushing for their Mobile 3.0 strategy (I assume there are more tries there) with the purchase of Nokia and the release of Surface 2 devices. I am impressed on the hardware side of what Microsoft is building and thought the S2Pro at $1800 is pricy I more then likely will pick one up. The problem I have is with Microsoft’s  developer strategies of late. From the outside they seem unorganized and not as well thought out as one would think.I site the following

1. Killing off active development of Silverlight. Sure you cannot get it on IPad but that made it no less viable as a business intranet development strategy. Potentially continuing to re-invest for a few years more would have ensured that businesses continued to invest in there XAML based business apps pushing them to Win8 and not to Apple in the future. Prematurely EOL basically killed that potential upsell.

2. Charging organizations a side load license to create Win8/XAML applications for their LOB solutions. And on top of that creating what I understand a archaic license agreements where you have to buy a minimum number of licenses and on top of that you cannot transfer them. This means that I as a vendor cannot include a single license in the box to make it easier for a customer to buy our product.

3. Moving Scott Guthrie to Azure. I think Scott is awesome, but I think he was more awesome discussing the latest development tool feature (Silverlight,…). Moving on Azure it seems more like marketing a product then the geek cred that I so liked him for. I know that MS needed someone with Scotts capability in the Azure team but personally. This is a personal opinion as is all of this blog 😉

Ultimately I think 1 and 2 push developers to HTML/JS or back into Winforms/WPF. If Microsoft wants corporate adoption en Masse I really think they need to rethink #2 Because we all have alternates now causing a barrier to entry does nothing to help the platform.

I did see some Tweet the other day saying that some form of Silverlight is coming back and that would be great but its time for Microsoft to re-embrace the developer community and as they say ‘Show them some Love’. There is a lot of us faithful but we are fickle and will move away.

Breaking Backwards Compatibility

is it sometimes it right to break compatibility of older versions of a software. This is a question that many of us struggle with. I am in the midst of that struggle as I push forward on the ERPLink release and determine the right answer.

Currently within the product there is a key component that serializes datasets to the database. These large blobs of xml data are not compatible with some of the forward technologies that we want to use in our different clients, let alone the format allows for a ease of getting more data then one really needs. This ultimately leads to longer the required sync times. I was never a fan of the storage of query data this way as it was pretty localized nor of the display format on the grid as it was never that clean however it was the way it was.

I am now at a point of changing that so that we can have a more structured data set. I am also going to break out child data tables from the parents allowing for at a time fetch support. This will ultimate lead to more records in the querydata table however pushing to structured data will lower the size of the data in the blobs and make it ultimate more consumable from other tools.

Ah to my tuesday …

SalesLogix and VS 2012 4.5

I like the latest and greatest toys to get my job done. All the new shiny attracts me but from time to time I get smacked down by making a choice by jumping on the new .. one such smack down was with VS2012 and 4.5. A strange issue was occurring while compiling the web site whereas tables with runat tags would break. With SalesLogix there are several places where this occurs mostly to allow for the setting of the visibility of the table. This is a know issue with Microsoft and a HF will be released (or so it has been told) but in the mean time working with SLX should be done inside of VS2012 without 4.5 installed on the machine.

BITtelligent ERPLink Update

One of the most requested features of late is web forms for ERPLink. They are a long time coming and I am happy to say great progress is being made on them. I want to give a bit of history behind the forms and then provide you with a glimpse of the new web forms that will be included in the next iteration of ERPLink from BITtelligent.

Initially the ERPLink web forms were a collaboration between a Business Partner and Sage in development. I was working on the Sage side to enable API access to the system. Progress was made and a iteration or 2 was provided out to the community to test and confirm the functionality. Not a lot of feedback came and other priorities took over in the mean time. One of the biggest problems with the web forms was the usability story. ERPLink is a pretty heavy sync engine that works in process meaning that it was quite possible that there could be lockups, timeouts and potentially crashing of the IIS process when doing a link and sync. Also most of the core functionality was provided through SalesLogix LAN client. Management and Loads would need the client to be installed even in a web only environment.

When we acquired the ERPLink and DynaLink IP some tough decisions had to be made, some I am still living with since we are not yet ready to come to market and we have done what we can to provide timely updates to the progress of the updates we are making to the platform, however the changes are quite substantial and take both time and effort (as well as $$s) to execute. We have finished principal development on DynaLink and are ready for providing CTP to customers who sign up to the BITtelligent software assurance program. It’s a great time to do so because the feedback will shape the product and the features in a meaningful way.

ERPLink however is taking a much longer time. It’s a bigger beast and we really want to make sure its completely ready for prime time. We have in the mean time built out a interim release based on the HF code release that is branded and includes some incremental fixes. This interim release will be provided to any existing ERPLink customers who sign up the the software assurance plan and they will automatically be eligible for future releases of the platform.

Now back on web forms. Though the team at Sage have created an incredible product in SalesLogix and I am very happy to work with all of them I had to make some critical decisions on how I was going to invest into ERP integration into the Web client. I mulled over the current smart part architecture and the bundler. Also how 3rd party functionality integrates and the development effort required. I also balanced it out on the product plans that Sage has publically stated for both MAS 500 (now Sage 500 ERP) and SalesLogix. Factoring in the future push for windows 8 and some more immersive UI’s and the goal of standardizing on a code base in the future for all of our integration platforms. Ultimately I had decided that for US (BITtelligent) a focus on XAML based UI technologies would give us the best in several worlds. For the following reasons we are picking Silverlight as the UI web forms technology for our ERPLink integration;

  1. Simpler packaging and distribution in .xap files where we do not need to worry about merge/upgrade issues with SalesLogix smartparts
  2. Silverlight currently has a greater published support lifespan then MAS500 (MAS 5+ years, Silverlight 10)
  3. Quicker development time. We can develop all of out UI code outside of the SalesLogix build/deploy cycle. There are robust tools and the code can be contained into 3 known tiers (UI/Services Façade/DB access)
  4. Easier to integrate both platforms in our UI. To reduce the sync cycles we will be adding dynamic queries as an option. Therefore there will be a huge win on the daily data request cycle.
  5. Though this is subjective I believe with XAML based tech we can provide a better UI with a greater ROI
  6. Shared code base. Moving forward a lot of the assets can be shared seamlessly between a win forms (WPF)/Web and future Win8RT client

and there are other reasons. Its always good to review product goals and ensure that the investments that we make coupled with the investments our customers make .. well .. make sense. Its tough to predict tomorrow but for our team we will need to focus on the consolidation of efforts and platforms and choose technologies where we can deliver the greatest value with the least effort.

This post includes some screenshots of the upcoming ERPLink web plugins. Hopefully you will like what you hear and see and I welcome your comments.






To Registry or Not To Registry

Dynalink uses the registry for storing configuration details. This includes runtime settings as well as paths to any of the configuration databases located on the system. While developing the new version of the platform several things bothered me about this approach but one thing specifically with handing different versions of the product on the same machine. Our goal is to allow for side by side versions of the service application. Each capable of service a different set of databases or versions of MAS. This would work well when testing new environments or migration work.  I am not a fan of the Registry and believe that having the configuration stored in the file system local to the runtime is a much more desirable solution.

To that end the latest build now uses local configuration files to handle the runtime details of the server.

My Head Hurts

No matter how much you might know about a given subject there are times when you cannot see the answer no matter how much you beat your head against the table.

Yesterday was one of those days for me and I lost several hours that I cannot get back. We are working on getting a build of ERPLink out and during some testing I could not get the .net extension part of the product to work. No matter what I tried I could not get them to work, however a set of the extensions build on my local machine worked without issue. Finally I decided to do a side by side comparison of the assemblies that worked vs. the broken ones. Everything looked the same, both having the same .Net version, references, and so on. However, after closer inspection of the Assembly info the one difference was in the assembly title, where the working set had a title and the non working was cleared. It seems that our Finalbuilder build was clearing out the title (we set other attributes like incremented version) and the title is required by SalesLogix .net Extensions. After getting the build fixed to ensure that title remained the system registered and UI elements showed up as expected in SalesLogix.

So make sure that the title attribute is set accordingly or your SalesLogix .Net Extensions will not be located by the runtime correctly.

ERPLink/Dynalink Update

The march to Summit is in full force here at BITtelligent Software.

As I mentioned in a earlier blog post we are re-developing Dynalink and ERPLink synchronization platforms. Technology IP that we had acquired from Sage Software. Since the short time when the acquisition completed both products have taken on significant transformations. The initial goal was to rebrand, refactor and introduce some incremental usability updates. Primarily with the refactor of the code I wanted both products to be in place for simple management and extension of new features, as well as putting in place robust testing around the sync logic.

We literally have 2 weeks to get the products ready for demo, and potentially sale. Creation of marketing material is also happening. Potentially we will be doing a web site revamp, however that may just have to wait until after I get back from Summit.

Transitional Time at BITtelligent

Has it ever been a rollercoaster of a ride at BITtelligent this month. So much has happened in the last month that is both exciting and scary at times. Earlier this month we acquired Dynalink and ERPLink integration platforms from Sage Software. We have been on a mad tear to get the products ready for Sale and its been an interesting run. I am pretty confident that we are close to signing off on the new Dynalink branding and UI as well as a rewrite of then communication pipeline from sockets to a more open WCF layer. Ultimately the goal is to be able to host Dynalink in cloud instances while continuing to have desktop productivity managing your jobs.

ERPLink has also been moving forward and we are seeing some great memory consumption and performance wins. There is still much to do with ERPLink on the road to Summit but I really believe that what we show will excite current customers and help bring new ones in.

During this time we also continued to support our other customers, doing several web upgrades, providing support and other custom solutions and kept the team at BITtelligent busy. Its such an interesting time and I am truly excited to see what comes next.


Its Been a while

Wow, long time since my last post. I guess its a mix of being busy on projects and being completely uninspired when it comes to writing any thing up here. This occurs mostly in the winter when I feel drained, and this winter has been pretty bad on me when it comes to my mental health. Thankfully we press through and just get stuff done.

Here at BITtelligent we focus on so many different things, and at times its hard to determine where the next focus point needs to be. Being a jack of all, with some razor focus on the SalesLogix product line I sometimes get lost without regards to the bigger picture. BITtelligent has become quite successful of late of SalesLogix web upgrades and almost have it down to a Science.

Over the next few months I hope to provide more details on the BITtelligent Integration Toolkit. A platform and set of services for creating custom/standalone integrations to various systems. Shortly we will be delivering our first mini-integration providing Microsoft Exchange to SalesLogix Ticket and History. We are very excited by these mini platform releases and hope to have a series of releases each year.

I will also be delving into SalesLogix 8. I have been fortunate enough to work with the team in Scottsdale on the product and provide hopefully great insight on how to get the most out of the platform.

Finally we at BITtelliigent will be adding some external competencies around ERP synchronizations specifically MAS90/200 and MAS500 through Dynalink and ERPLink product lines. Focusing on aiding support to the business partner and end customer community to get running and maintaining a working synchronization process.

Microsoft Build–Decision Time

Next week I will be in California at the Microsoft Build conference. The day the conference was announced and registration availability was opened I signed up. For the last few years the direction that MS was going to take moving forward in their platform and OS was, well cloudy. The company I operate offers development services for MS based services and visibility and direction is paramount when it comes to providing insight and solutions to each of our customers.

I clearly have a affinity towards .net and the stack that surrounds the runtime. Be it Win forms, web with MVC or Silverlight, and in the future Mobile, its how I and the developers working for me make their living. I liked what I saw in Silverlight from a productivity standpoint. The types of applications that you can write (note I said applications and not web sites) can have a usability and a ROI that beats so many other technologies out there. It has been Microsoft’s strength in the past, and hopefully in the future that they build developer tools that allow the millions of us to just get it done.

I will be blogging from Build, and of course the occasional tweet on the findings. I expect it to be a busy week and hopefully thought provoking and provide a nice jolt to get my creative juices flowing again.