Archive for 'Our Work'

Enterprise Systems Integration Project Launched This Week, Mission: Possible!

We can’t screenshot it, and due to the business-process nature of the project for our client, we can’t really give many technical details, but we want you to know about our latest project.

The project isn’t a website launch or a custom web application, it’s a systems integration that helps a national manufacturing company leverage their existing internal sales and logistics systems in a whole new way.

If you are reading this and don’t know what “systems integration” actually might mean, here’s the short version. Most (all?) mid-to-large manufacturers use an ERP (enterprise resource planning) system to manage the logistics of their sales, manufacturing, and distribution. Most (all?) also use a CRM (customer relationship management) system to manage sales leads, customer accounts, and quotes.  This company uses Microsoft Dynamics AX as their ERP, and Saleforce.com as their CRM. They hired us to make those two systems talk to each other, in real-time, in order to build themselves a more customized system and improve efficiency company-wide.

And, stepping into that place where traditional IT analysts and web developers both usually fear to tread, we did it.

We’re pretty proud of it. The client’s sales team can now use Salesforce to access real-time product information and build accurate and meaningful quotes. Once the quotes are sold, the workflow moves seamlessly over into AX  and the order begins to be filled. Now, if your company sells, makes, and then ships products, can you think about how useful something like this could be? An ERP system can be a poor match for the needs of sales…  side note: one of our team experienced using SAP as a sales rep once, and it was scary … and a CRM usually has nothing to do with the real logistics of manufacturing and delivery. But, different systems tooled to different needs, talking to each other in a harmony – that’s business magic.

On another note, the Reno team enjoyed having Patrick here in the office this past week. We think he appreciated an escape from the snow in Anchorage. We took the opportunity to do a little planning, a mission refresh, some navigation as we round the first turn of 2012. Here’s our shiny new mission statement –  nothing considerable has changed, core values still stand and always will, except we think we know ourselves a bit better than we did back in 2007:

Trinity Applied Internet provides businesses with expert client-centered design, development, systems integration, content management and online business intelligence, exceeding the wildest goals and contributing to the outstanding success of clients and team members alike, with respect and integrity.

Server Technology’s Custom Ruby CMS Gets A Makeover

TAI Launches Another Custom Ruby CMS Website for Server Technology

Time to toot our own horn, again! We are excited to announce we’ve finished another version of Server Technology’s custom-built Ruby on Rails content management system, complete with a sharp and professional front-end redesign. The new website features a Product Selector application designed for sales, a simple but powerful back-end admin area designed for marketing, and a comprehensive products database that stores everything from datasheets to engineering schematics, designed for a global manufacturer on the forefront of their industry. Trinity Applied Internet has been Server Technology’s applications solutions provider going on five years now, and we are proud to say their website’s next generation is built to last for many more.

In other news, we have moved into our new space and have some other interesting changes on the horizon, so stay tuned in the next week or two for more on that!

TAI Extends Client Websites With Both Third-Party and Custom WordPress Plug-ins

Last week saw the launch of another Trinity Applied Internet custom WordPress website for northern Nevada short sale and foreclosure experts GreenStreet Realty. It features the new custom sidebars plug-in Patrick is getting ready to release to the WordPress open source code base, allowing for each section, or even each individual page, to carry a completely separate set of widgets in the sidebar. This allows the template to be infinitely more flexible and takes WordPress one step further towards being able to handle content like big brothers Joomla! and Drupal.

We also got the opportunity to play around with the IDX integration piece offered by GreenStreet’s MLS listings vendor, and are happy to report it was smooth sailing. The listings appear in various places throughout the site, and can be searched from the sidebar widget. Clicking a property listing brings the user to GreenStreet’s results page which is actually external to the website, an integration that looks seamless to the user.

Our content department (Erin, Nicole, and for layout, Rachel) contributed extensively to this project as well, with support including social media set-up, research and copywriting. And, there’s more to come! Stay posted for more exciting project updates…

Investing Time and Experience Before We’ve Even Started

Working with Trinity Applied Internet Part B: Investing Time and Experience Before We’ve Even Started

You know the staff. Now, what is the process? How do we approach your project?

The term “applied” in the name of the company is no accident. A cumulative thirty years experience in software and web development speaks volumes on behalf of the partners, and is directly applied to every project we produce, problem we approach, and product we deliver. The process behind your website or web application development is not piecemeal or made up as we go along.

Consult, research, facilitate, plan (and plan and plan some more), design, develop, test, adjust. Rinse and repeat. Every time, for every project. It doesn’t matter the size or the complexity of the project at hand, we spend the time at the beginning on analysis of your company, research, and planning. In fact, if you have already been through an estimating and proposal process with us, you know we spend a considerable amount of time getting to know you before we’ve ever even won you as a client.

Think every shop that advertises their easy and cheap WordPress package, or their hosted solution you dial right into, does that on your behalf? They don’t. Believe us, because we hear time and again from clients who tried out the competition first because of a really attractive price point, and since have realized they didn’t need a cookie-cutter approach. Or they went with a big media and advertising agency and were shoehorned into marketing decisions based on what the agency was “really good at,” and how it wanted to promote themselves as a full interactive shop.

Well, that strayed from the topic a bit, but the point is, at Trinity Applied Internet you get specialized, considerate, and tailored service that addresses your needs specifically. If you are a marketing department working with some IT constraints, we plan for that. If you are a small organization with one paid staff member and no time for teaching yourself website administration, we plan for that when we design your project, rather than discovering it at the end (or not at all.)

The adage about “prior planning prevents…” at best catastrophe and at worse any number of irritating little hassles. We take it to heart, to the extent that we are researching, discussing, and planning your project before you have even officially engaged us.

Perpetual Apprenticeship

Does it seem like you are perpetually learning new things about how tools and strategies online can move your business forward? Over the years, I’ve met many people in many different situations who somehow expected to read up, get some advice, and then carry on with the knowledge of how the internet works and informs their business. Small business owners with marketing websites, IT professionals certified in a particular enterprise system, and plenty of folks somewhere in the middle who have been tasked to generate leads, sell things, or otherwise move business online.

Invariably, after working with us a while, these clients look at me (usually in their mind’s eye because we’re meeting online) and quip something like, “How can you manage this stuff when everything is constantly changing? Doesn’t this drive you insane?”

The answer to question number two is, yes…and no. Luckily, everyone we are fortunate enough to have on this team thrives on learning. Research. Applying lessons learned in one area to another. Patrick brings many years’ experience designing and developing software systems (with a bit of hardware experience, to boot.) Keith has spent an equal amount of time navigating the waters of “we-think-it-can-be-done-let’s-work-it-out” in teams both large and small. We are all perpetual students, continually following industry news and taking learning opportunities wherever we find them. We clock lots of overhead hours to R&D. Those interested in doing one thing over and over their whole day, week, career, need not apply here.

And then, just as we start to feel smart-ish, there’s a new version of IE, or Google releases some big hairy updates, or someone goes and invents something. (Twitter?) Every lesson we learn seems to point to more undiscovered territory, but also allows us to keep a solid footing when recommending solutions, troubleshooting issues, and making informed choices throughout the design and development process. We are keep at it on behalf of our clients, because we’re curious, fascinated, maybe even a little obsessed.

Excuse me, but I’ve got to go review my Google alerts on search marketing now.

2011, Wrapped Up at Trinity Applied Internet

As we return from our holiday break ready to conquer 2012, we feel it is only fair to offer a short wrap-up of 2011. In brief, it was a great year with some challenging and intriguing projects, and a ton of changes for Trinity Applied Internet.

One year ago, TAI consisted of Keith, Patrick, and Erin. We have grown by more than 60%, adding Nicole and Rachel full time, and Kym part-time. We have built a content marketing team, and now are able to offer clients services including copywriting, blog management, social media management, shopping cart administration, and other strategic marketing tasks in conjunction with our standard websites and application development. Many thanks go to our outstanding content clients, including Joelle K. Jay and The Inner Edge, TopLine Leadership, Our Broken Family Court System Conference, and NV Stem Education Coalition. We can’t wait to see what the next year brings!

Our ongoing maintenance, hosting and support business has been humming right along, as well. We continued providing service and support to Server Technology, PDUS Direct, KUNR, and a number of other companies, while adding the Nevada Immunization Coalitions and ITS Logistics to the mix. We provided project management and support to Vitamin Research Products and performed a Microsoft AX to Salesforce systems integration for Haws Corporation. As always, Trinity Applied Internet is proud to be invited to work for these industry-leading, globally or regionally respected companies.

And, as always, we’ve been launching a steady stream of custom content managed websites for companies big and small. This year’s site launches included the Nevada Small Business Development Center, The Nicholas and Dorothy Cummings Foundation, Edible Pedal 100, Reno Sunrise Rotary, and Cart Barn, just to name a few!

We had some new opportunities this year including the chance to participate in Reno’s first ever Hack-a-Thon, Hack4Reno. We had a great time and even won Best Social App for our community-driven event application, EventSmash.  We also jumped into the conversation online, and created a goofy little app that helped anyone keeping track of the Old Spice Guy contest know who was ahead in “mentions” at any time during the contest – great fun!

There isn’t really any way to wrap everything up in one blog post – it has been such a busy year. But suffice to say there is a lot going on, with even more exciting developments on the horizon. The start of 2012 will see the reveal of some very exciting projects, as well as new developments in the office… (Namely, an office!)

We’ll keep you posted!

 

 

Trinity Applied Internet Voted Best Social Application at Hack4Reno

Hack4Reno was a fantastic experience, and we really enjoyed working with several local teams!

Keith Anderson of Trinity Applied Internet Working at the Hackathon

First, a giant thank you to Reno Collective and The City of Reno for putting on this incredible event – we look forward to participating again next year. And, we were blown away by the talent of all the teams, but want to give a special congratulations to our friend Dawson Loudon of Sapphire, who took Best in Show for GoOutsi.de.

We created EventSmash: a mobile-friendly, area-wide events calendar website. Anyone can post an event, but only registered users can vote on these events. Users can sort events by category, including: art, training, music, nightlife, and more. All posted events are geo-located, so users will only see events that are relevant to their location. Fields to be published for each event include event title, description, date, category and place.  Also, the map icons change based on the type of event. Users can sign in through Facebook, Twitter and Google.

Some of the technology behind the app:

  • consumes and publishes events via RSS and iCal
  • allows developers to integrate EventSmash with their own website or application using a publishing API
  • built on Ruby on Rails and hosted on Heroku

Keith and Patrick Anderson at Reno Collective for a Hackathon Mixer

 

We are honored to have won Best Social Application, and will be fine tuning and updating the app for full use very soon. Check back or keep in touch through our Facebook and  Twitter updates!

 

Hack4Reno: Choosing a Project

Headed to Hack4Reno this weekend? Choosing your project can be difficult. The Hack4Reno organizers offer some guidance on brainstorming ideas. We’ve come up with a few hints of our own to help you get those creative juices flowing, along with a little advice.

One way to get ideas is to go and look at what data is available. The City of Reno provides several data sets to the public, and the Hack4Reno organizers have put up a Reno is Artown.

Our advice is this – consider whether the data you’re showcasing encourages repeat viewers. Raw statistics, such as crime data, while being a curiosity, usually lead to something people check once and never revisit. And if you’re planning on integrating social media, having something offer not just this weekend, but a month, two months or a year from now is an important consideration. People want to share new things with their friends, not data from six months ago.

Happy Hacking!

Hack4Reno Is Coming!

Calling all developers and designers! We are super excited to be a part of the fun happening in 5 short days.

If you haven’t heard yet, The City of Reno and Reno Collective are organizing the first ever Hack4Reno – a 24-hour ‘hackathon‘ which is a team competition where apps are to be built to benefit the community. Apps can be anything from serious and potentially life changing to something fun and light hearted.

Why are we participating?

We want to help get the community involved in giving back with their mad designer and developer skills to the city (and region) and to promote the openness of platforms and data.

We are not only forming a team (Go Trinity!) but we are also sponsoring the kick off luncheon for participating teams on Saturday at noon, and coffee for participants later in the evening.

Perhaps it is not for the faint of heart: let’s remember that this is October in Reno and the competition is being held outside (out in the open – like the open public data), but it will be 24 hours of having a great time with fellow developers and giving back to the community.

Come root on the Hack4Reno teams this Saturday, October 15th at noon at the Pioneer Center for the kick off and if you are really excited you can join us and stay all night! Or come back on Sunday, October 16th at 2:30pm for the announcement of the winning team!

Engineering Socially: Traffic Spikes and the old new Old Spice Guy

A while back, we did a little promotional project to tie into Old Spice’s online marketing campaign running on YouTube.  It was very spur of the moment, since we launched the project after the Old Spice campaign had already started.  Because of how fast we needed to get something working, and the size of the potential exposure, some of the engineering issues were more prominent for us than they have been in the past.

Engineering Challenges

We knew right away that if we got any pick up at all, we’d be looking at a significant traffic spike.  While we were hoping for the best in regards to traffic, that also meant preparing for the worst – a huge traffic spike.  The big engineering challenges were:

  1. The promotional page must not impact regular operation of the other websites we manage for our clients
  2. It must not negatively impact bandwidth allocation from our hosting partner Slicehost.  And by negatively impact, I mean cost us money.
  3. The hosting must be able to scale easily, so we weren’t looking at a lot of server errors, or being offline completely.
  4. Ideally, the hosting for this should cost as little as possible, since it was pretty much a one shot deal.
  5. We knew the campaign was already going on, so we needed to get it up and running fast.
  6. The application had to handle several large data sets, namely: Twitter feeds and Facebook, Digg, YouTube and Reddit comments.

Clearly, we weren’t going to be hosting it on our own servers.  Too much risk of a slowdown causing denial of service for our customers.  The sites we host generally don’t get the level of traffic that warrants the engineering investment in load balancers, content delivery networks, redundant servers, etc.  And setting all that up for a spur of the moment deal like this just wasn’t worth the investment of time.  We also didn’t want to afford the cost of setting up at least one, but possibly several, new virtual servers, since we would be paying the full monthly cost.

While there are many virtual application platforms out there, such as PHP Fog, Heroku, and Google App Engine just to name a few, the short timeline and my previous experience with Heroku made it an obvious choice. Since we had no idea when Old Spice would declare a winner and end the campaign, we set ourselves the goal of having something up and running the same night.

Because of its close integration with rake and git, Heroku seemed like the best choice to host the application.  Heroku makes it easy to create, deploy and scale rails apps, and has lots of seamless automation to make maintaining them easy.  A bonus for us is that they only charge you for the time you actually use.  So we could scale up our processes (to serve the app) during the initial rush, and then scale down again when it was over.

Also, Heroku is a Rails 3 hosting service and Ruby made the app a breeze to build (satisfying the time constraint).  I went from idea to working site in an evening. I built the app as a single page, which updates the data on a fixed interval.  While I could have used Heroku worker processes to remove  the refresh process from the page display code path entirely, that would have added to the final bill, so I stuck with refreshing the data during page load and causing an occasional slow request.

Implementation Challenges

While it would be nice to say everything went smoothly, despite all this planning, there were occasionally problems, but surprisingly all of them were from our outside data sources.  We used Google Fusion Tables as mass storage for the collected tweets, comments and feedback that we were mining for “votes.”  I discovered the hard way that very occasionally the comma separated values (CSV) formatted output from the Google Tables API was not quite as CSV standard as Ruby would have liked it to be.  Comments from Twitter with newlines in them were occasionally showing up without being enclosed in double quotes.  In fairness, this might have been a garbage-in-garbage-out issue from the software that was scanning Twitter, but the time we had the problem, it was much too late to fix the Twitter side of things, as the data was already somewhere amongst the tens of thousands of records in the raw Twitter feed table.

Fortunately, we could exclude records from our API calls to Google, but we needed a unique record id to do it.  Unfortunately, Ruby’s CSV parser was somewhat unhelpful about exactly which record was causing the problem.  And the web front end to Google Fusion tables doesn’t have a way to jump to a specific record easily in any case.  Paging through a table with tens of thousands of records a hundred at a time is no way to do things.  And of course, rather than returning nothing, or the data up until that point, or trying to recover, the Ruby CSV parser just throws up its metaphorical hands and raises an exception when the CSV data isn’t up to its standards.  So it was a perfect storm of mediocrity.  While the argument can be made that that’s exactly what the Ruby CSV parser should have done, having it return nothing meant that suddenly our numbers were all over the place.  I did eventually track down the offending data and hide it from the Ruby CSV parser, but it would have been much more helpful to have a parser that could at least try to continue in the face of corrupt data.  I think the robustness principle applies here.

Lessons Learned

We learned several lessons from this exercise:

  1. Plan to be inundated with traffic.  We got more than 25 thousand unique requests the first day.
  2. Make sure you have a backup plan when relying on remote data.  You never know when or why problems might crop up.
  3. Secure a domain name or other stable URL sooner rather than later.  After all that work, we almost blew it by announcing too soon, before we could be sure our domain name was working.
  4. If you think you might need to scale, plan ahead.  It’s much easier to take advantage of someone else’s infrastructure which was designed for scalability than to roll your own or try to shoehorn it in after the fact.

But all in all, we learned a lot from this about how to handle high profile events.  We also had a lot of fun doing it.  And hey, a shout out from the Old Spice Guy is pretty cool too.