While a college education is all well and good, there is no substitute for actual real-world experience in the workplace. This is doubly true for software engineering.
Ars Technica makes the point clear: the small, well-defined problems of a programming assignment are cakewalk compared to the layers of interpersonal interaction, requirement gathering, and business domain understanding that is asked of professional developers.
While HTML5 has been successful at introducing many useful elements and technologies to browsers everywhere, there are still many challenges facing web developers.
Advancements in browsers and coding libraries have made a combination of HTML5-based technologies a viable game development platform. This ends up being the ultimate write-once-run-anywhere platform for game developers, but many issues still face developers, especially in areas of memory management and physical interaction. This Gamasutra guest blog post looks at considerations that game developers (and by some extensions, all web developers) must address when developing process-intensive web apps.
The HTML spec provides many useful tags and attributes for developers to represent content and data. What it has not provided much of, however, is a useful place to store small, local, and relevant snippets of data or state information. HTML5’s “data-” attribute provides a solution.
In short, a data- attribute is a custom-defined HTML tag attribute that can be assigned any arbitrary value. Prepending “data-” to any name of your choosing create a perfectly valid attribute.
<a id='Assurance' data-tooltip='We rock your IT!'>Computol Assurance</div>
<script> var element = document.getElementById("Assurance"); var text = element.getAttribute("data-tooltip"); alert(text); // "We rock your IT!" </script>
C# is an always-evolving language (per Microsoft’s schedule, of course), but some of its neatest tricks don’t come from the bleeding edge. Many useful features have been around since C# 2.0, but not all of these may be obvious to every C# developer.
You will almost certainly learn a thing or two about your favorite .NET language from this list.
One of Computol’s newest services has proven to be one of our most popular and robust: Computol VOIP. Built on a flexible and robust IP platform, our VOIP solution brings the scale, features, and reliability of an enterprise-class phone system to any size business at an affordable cost.
Here are a few of the features and advantages of our VOIP platform:
Hosted Stations. Advanced IP phones that provide a wide array of features and are simple to use are the heart of our VOIP platform. Ask us for a demonstration.
No long distance. Call anywhere in the United States for free with unlimited trunks.
One Number, Multiple Lines. One public-facing phone number can support multiple simultaneous lines.
Simplified Billing. Receive a monthly statement that clearly lists all your phone system’s features, quantities, usage, and cost without layers of paperwork.
Affordable Features. 800 numbers, E-911 service, and direct-inward-dialing (DID) numbers are just a few of the features available to customize your phone platform.
Advanced, Custom Reporting. Computol can create custom reports that detail every aspect of your phone usage. From line-by-line utilization to detailed minutes reports, you can always be up to speed on your daily usage.
Interested in learning more? Contact us, either by calling 419-874-2280 or emailing us at firstname.lastname@example.org to get started.
Videry collects and (as the title implies) curates great videos - both clips and full sessions - of content related to great web design. From technical implementations to typography to design theory, there is a large variety of topics that should appeal to any web developer of any level.
Rachel Andrews recently discussed the issue of “What You See Is What You Get” editors (“WYSIWYG” or “wizzy-wig”) in content management systems. The classic problem: where does the fine line sit between giving clients unfettered control of their content and having a CMS provide well-structured content?
For example, WYSIWYG editors usually allow content to be edited just like it was an MS Word document. Users can style text (bold, etc.), change fonts, font sizes, align text, add images, and draw complex table structures. This is fantastic for those familiar with Word or similar applications, but it can create messy HTML markup or introduce design inconsistencies in the website.
Rachel’s article stands out to us because her solution to this problem hits close to home. While Computol believe clients should be in control of their content, there is definitely limitations to what a do-anything content editor should be able to touch on a website. Especially with responsive web designs, it is vitally important for a website to display content cleanly and consistently.
For those website hosted on one of our Concierge Packages, content updates are simple, easy, and consistent. We handle content updates in such a way that it always fits the website’s overall design and theme.
For our clients using a CMS, we encourage a “no-nonsense” approach to content editing. By defining content types, content priority, and specific editable regions, we strive to create effective templates that present content as cleanly and consistently as possible. We encourage stripped-down editors that only cover the basics: headings, font weights, and text alignment.
We never reject requests for more-advanced editors, however, but we open two-way communication so both sides understand the pros and cons of using simple versus complex editors. So far we have found great success with this approach and will continue with it in the future.
Google Glass introduces a new paradigm for integrating technology into our world, and it now supports something that we are all familiar with: a web browser. This article takes a look at some technical considerations and capabilities of the Google Glass browser environment - especially as it relates to responsive web design.
A huge percentage of people read emails on mobile devices, and this is where the traditional fixed-width HTML email has some issues - it is darn-near impossible to reliably deliver and that consume on a sub-7-inch screen.
With support for CSS severely lacking, media queries a no-go, and even issues with <viewport> tags, designing for responsive is not an easy feat. ZURB introduces a few templates and describes their strategy designing responsive content on mobile.
Computol is proud to be a supporter of the great Baker Framework. Using HTML5, developers can produce fantastic newspaper, book, or magazine content that runs as a standalone iOS App or as a Newsstand App with full support for subscriptions and In-App Purchases.
This brief article comes straight from one of the Baker developers and details its rise as one of the premier frameworks for Newsstand development on the iOS platform.
Ars Technica speaks to hackers who demonstrate the ability to crack mildly-complex passwords with relative ease. By “mildly-complex” I mean the kind of mixed-case, alpha-numeric, symbol-containing passwords that so many security experts stress are better alternatives to “letmein123.”
Is the future of passwords in jeopardy thanks to super-fast brute-force methods (thanks to GPU acceleration) and giant rainbow tables?
Baker Framework is an iOS HTML framework for building applications - especially periodicals such as books, magazines, and newspapers.
With Newsstand support, Baker 4.1 now offers content creators a meaningful way of selling content in Apple’s store. Computol is proud to offer back-end Newsstand services for Baker 4.1 iOS applications. Using our hosted solution is the simplest way to get your Baker app functioning with Apple’s Newsstand - just login to our portal, update your issue data to match iTunes Connect, and your Baker application will just work.
Check it out at the link above and contact us with your questions.
While web page performance should always be on the forefront of every developer’s mind, our industry’s push into response web design over the last couple of years has been focused on user experience and visual polish.
Luke Wroblewski takes a look at some common points of pain for RWD performance (including his trademark statistics), and offers a few tips on optimizing performance across devices.
For those low-level-loving developers out there, here is a look at some programming oddities, unconventional coding, and unexpected behavior in snippets of C code. All these examples are perfectly readable bits of code that upset compilers or produce unexpected output.
Baker Framework is a fantastic platform for building HTML-based iOS apps. While its “standalone” mode is useful for building single-use, content-driven applications, the addition of iOS Newsstand support in version 4.0 plays to Baker’s strengths as a simple platform for periodicals.
In order to fully support all of Newsstand’s features, however, a critical server component is required - and Baker does not yet provide this robust solution for integrating issue and subscriber management with iTunes Connect. The whole Newsstand model can be slightly confusing, so for those working with Baker, here is an overview of how Newsstand and Baker work together.
The iOS Newsstand is a special type of folder that lives on the iOS home screen. Your app’s Info.plist should contain the Boolean value "UINewsstandApp" set to true. This flag automatically places your application in the Newsstand folder and groups it into the Newsstand section of the App Store.
Newsstand applications must provide a subscription option and must periodically publish new issues. There is no getting around this, so at the very least, Baker must be configured to offer a free subscription. This will enable a “Subscribe” button in your Baker app that is required by all Newsstand apps.
If you wish to offer individual issues for sale (via In-App Purchases) or paid subscriptions, you must consider a few important points:
You may offer issues and subscriptions for sale via the App Store, of which there is the usual 70/30 revenue split with Apple.
You may offer subscriptions for sale outside of the App Store. This revenue is 100% yours. In this case, you must offer the same or cheaper subscription options in the App Store, which applies the 70/30 split for purchases made in that channel.
Apple only manages issue data for the App Store front end. You must track which issues and subscriptions users have access to. When a user purchases an issue or subscribes, you will receive a receipt of that transaction.
That last bullet point is important. It is up to you to manage user receipts, subscription status, and issue access. This requires a significant server application. If you intend to offer your own subscription option outside of the App Store, it is also important to consider that a sign-in mechanism is required to validate your users - something that Baker does not currently offer.
The External Server for Baker
At this point, basic issue information should be set up in iTunes Connect. Issue name, cover image, description, and a link back to the actual content is stored by Apple so that your periodical is searchable within the App Store. As stated above, the actual content of the issue is not hosted by Apple - that is your responsibility.
For a free subscription, you mainly have to host your issues (“.hpub” files) and Baker’s “shelf.json” file, which identifies all issues available for download.
For paid issues and subscriptions, you also need to handle App Store receipts, maintain user subscription status, and be able to reliably manage users who subscribe outside of the App Store.
Shelf JSON: Returns data about all issues that should be displayed on the Baker shelf, including the In-App Purcase pricing information, if applicable. (GET)
Purchase Confirmation: When content is purchased via an In-App Purchase, Baker sends the receipt information to this endpoint so it can be recorded. (POST)
Purchases: Returns a list of issues that a user has access to based on their purchase history or subscription status. (GET)
APNS: When a user agrees to push notifications, Baker sends a device token to this endpoint so it can be stored for later reference. (POST)
The Computol Solution
While Baker Framework 4.0 is a fantastic way to easily create HTML-based iOS periodicals, its integration with Apple’s Newsstand and technical requirements can be somewhat confusing.
Computol is currently hard at work creating a hosted Baker server solution that will allow content creators to manage subscribers, update issues, and handle App Store receipts with minimal fuss. Everything this article covers will be integrated into one application with full support from Computol.
In the mean time, feel free to send Baker-related questions or comments to email@example.com to see if we can assist you in any way with your Baker-Newsstand integration.
The iPad was released in 2010 to just about every possible reaction: excitement, exhilaration, confusion, and mockery. Nearly three years into the “tablet revolution,” Ars Technica takes a look back at how the iPad has changed lives, affected workflows, and become the go-to device for all sorts of casual computing and light work.
Computol is a company filled with iPads, and we most definitely use them extensively. Gaming provides healthy competition among everyone, Trello’s fantastic iPad app keeps us on task, and countless meetings have been made easier with quick and easy access to emails, files, and presentations.
April 1, 2013 is upon us, and that means pranks and practical jokes are inevitable across American offices today.
For some subtle fun with your co-workers, check out these WebKit-based CSS tweaks. Once set up in Chrome’s “Custom.css” file, all websites or elements can be skewed, rotated, blurred, or flipped. Find your favorite effects and have at it!
PS: I took today off work. What the hell is wrong with me?
The “Retina Revolution” is just about here. While the web has been transitioning over to mobile-first development strategies for a few years (championed by responsive web design, of course), the next major shift will come from high-resolution displays.
We are already seeing this thanks to a trend kicked off by the iPhone 4’s “Retina” high-DPI screen (326 pixels per inch). Android phones ran with this concept, as 2013’s flagship phones sport 1080p, 400+ dpi screens. Over the next five years, high-DPI screens will become commonplace among more phones, tablets, laptops, and (hopefully) desktop displays.
Paul Stamatiou runs through the process of building a beautiful, responsive, image-driven website that takes advantage of high-DPI displays. His design process is mobile-first and content-driven. He breaks down the pros and cons of major design choices (such as content priority), implementation strategies, and technical challenges for high-DPI-ready graphics. All in all, this is a fantastic, in-depth read that all web designers and developers should take in.
Ever have a user enter their email address into a web form and miss a few important characters (think “.co” instead of “.com”)?
mailcheck.js helps address these and other common email formatting mistakes. Using a little jQuery, mailcheck.js is easy to set up and integrate into your site as a fast and effective means of guarding against simple email typos.
Amazon’s homepage features what I would typically call a design failure: a monstrously huge and complex nested navigation menu. One button, many options, and layered categories.
Check out this well-written look into how Amazon overcame a usability nightmare.
When building a website, how can a sitemap help the design process? As it turns out, a lot. Clarifying goals, avoiding duplicated content, and keeping everyone (developers, managers, and clients) on the same page are just some of the obvious-but-important benefits.
At Computol, one of the first steps in building a website involves building a content tree with the client: we want to understand all the content destined for the final website. This helps the client prioritize content and gives us an idea of how CMS integration will work or how many resources we will need to devote to development.
Microsoft’s Metro Modern UI design language introduced with Windows Phone 7 has made flat design popular. Solid colors, font-driven design, and responsive layouts are the new rage in 2013. This is a far cry from Apple’s skeuomorphic textures popularized by iOS, still the gold-standard in usability. Given this huge rift in design theories, what challenges await flat design? How can subtle hints of depth increase usability? Is it right for your next project?
"Almost Flat Design" looks into some of these issues and quite a bit more.
Umbraco, the open-source .NET CMS platform, had been giving me grief on a project for the last month. I ran into a relatively major publishing bug that would cause a YSOD (Yellow Screen of Death, of course) for all end users.
Content can be published in Umbraco two ways by end users: using a right-click context menu in the content tree and by a “Save + Publish” button in the content editor interface. This easier “Save + Publish” method had been throwing errors when publishing from the Home node. Hoping that the client would never update their homepage was an unrealistic option, so I set about investigating the issue.
Although there are a couple of causes for this error, mine turned out to be deleted items: after deleting content items with a parent node, the publishing process would error only when using the “Save + Publish” button.
This was one of the more obscure issues I have dealt with recently. If you’re running Umbraco 4.10 to 4.11.4, you should consider upgrading to 6.0 or at least look over this thread to see if any issues discussed may apply to your setup.
In case you missed it, CSS has a couple of neat selectors available. Stuff like “ul li” and “a > .external” are simple enough, but try some of the other 28 selectors available in this awesome list. While not every one may be useful on a daily basis, they may help solve some of the more difficult styling issues that you may come across.
Here is a neat demo that blends headtracking with concepts of responsive design.
The 2600Hz Kazoo API: Timestamps and Gregorian Time
We have recently begun integrating with the fantastic 2600Hz VOIP platform Kazoo. Kazoo provides a very clean and simple RESTful API for interacting with almost every facet of the platform. This will allow our team to write great applications for both us and our customers.
One interesting detail struck us pretty early on. Timestamps in our datasets looked a little like this: 63492595200. Being based on an open-source stack (including Linux), the initial assumption was to parse the timestamp based on Unix epoch time. That was wrong, and it should have been obvious: an eleven-digit number is larger than current Unix time.
After scrounging through Kazoo’s documentation, we determined that Kazoo uses Gregorian seconds as its common timestamp. Go ahead and Google “Gregorian seconds.” Long story short: Erlang’s calendar module is used within Kazoo, and thus uses the Gregorian calendar system. We found this a little odd in a world dominated by Unix time.
This presented a problem when translating Kazoo timestamps to C# DateTime objects. There is no native or .NET method of converting Gregorian seconds into a DateTime object, but there is a formula out there for it:
Gregorian seconds - 62167219200 = Unix seconds
This was sourced right from one of 2600Hz’s developers, Jon Blanton. Once translated into Unix seconds, it is trivial to convert to a DateTime object. The complete solution is below.
Computol has a particular fondness for SubtlePatterns.com. This simple resource is a handy provider of simple, well-organized, and subtle tiled patterns well-suited to provided background textures in web designs.
This Subtle Patterns Bookmarklet is a great tool to preview the Subtle Patterns catalog in a live environment. Install the bookmarklet, navigate to a page, and click-and-preview away.
The “Six Inch Gap” is closing the space between phones (3” - 5”) and tablets (7” - 10”). With 5.8” and 6.3” phones on the horizon, we are looking at a device landscape that covers every possible size: from 3.5” mobile devices to 100”+ projection displays.
I can’t think of a better reason to implement responsive interfaces in applications and web sites. Based on these diverse screen sizes that will be commonplace in the next few years, there may be little choice otherwise.
The Computol team hit the ground running in 2013, and we have kept very busy at work. We were fortunate, then, to get away from the office for a couple of days in early January and spend time at CodeMash 2013 at Kalahari Resort. The Sandusky, Ohio resort is typically surrounded by cold January winds, but this year was an exception: a mild warm-up melted our biggest snowfall of the year and made for a pleasant experience both in and out of Kalahari.
While the weather cooperated for all those traveling to CodeMash, the action was most definitely inside the resort.
CodeMash has grown considerably since its 2007 debut. In our team’s collective 3 years of attending the conference, we have seen it grow from roughly 700 attendees to over 1,300 this year. This is in addition to the volunteers and Kalahari support staff that do a fantastic job of keeping everything running smoothly.
Between Wednesday and Friday of CodeMash, Scott, Tom, and I attended a wide variety of sessions and got to meet a lot of interesting people. I spent time weaving between Windows 8, content strategy, and UX design topics. Tom focused much of his time on iOS development. Scott found interests in management and mobile development.
I met up with Ben Callahan and the rest of the guys from Sparkbox in Dayton, Ohio for a while to talk responsive web design. Everyone had a chance to meet up with former co-workers and friends from the Toledo-area developer community.
The Computol team found Friday’s mix of sessions to be a little misaligned to our interests, but based on the foot traffic we saw, there was plenty of packed sessions right through the closing raffle on Friday evening.
One of the biggest takeaways from CodeMash this year is simply the conference itself. CodeMash is now a premier developer event that attracts hundreds of big names to northern Ohio every winter, opens up limitless possibility for networking, and features more brainy sessions than anyone could possibly take in at once.
This week will see the Computol development team scooting off to the hazy warmth of the Kalahari Resort in Sandusky, Ohio for CodeMash 2013. Organized and run by a fantastic group of volunteers, CodeMash is one of Computol’s favorite developer and technology conferences.
Although the fantastic sessions are a great part of the conference, I would argue that CodeMash’s best feature is its people: roughly 1,300 student, independent, and professional developers and designers coming together under one roof. The access to talent and ideas feels limitless, and the potential for networking is huge. If nothing else, CodeMash is a great way to catch up with old friends while making plenty of new ones.
Because Computol will be at CodeMash this week, our Thursday post may be delayed in favor of some post-conference review. Stay tuned!
As we kick off the new year, Chris Coyier over on CSS-Tricks provides some useful and practical advice on starting a new web project. His first bit of advice: consider mobile - your new site will need it. We couldn’t agree more.
Computol is starting the new year with a new client website, so Chris’ advice comes at a great time.
Independent developers, contractors, and small businesses: How do you choose your clients? While it can be thrilling to land a client with a fat wallet and great ambitions, there is plenty of factors to balance. Available time, energy, potential expense, party interests - the list goes on and on.
Here is a look at how several independent developers, designers, and small businesses choose their clients so that everyone involved may be satisfied.
The software engineering team works on a variety of projects, possesses a wide range of skills, and offers many services that fit businesses both large and small. What follows is a look at some of our development services.
From simple automation tasks to company-wide tools that encompass critical business logic, custom software can empower you and your business. Computol specializes in Microsoft’s .NET platform, offering development for Windows-based systems. Database design, utility applications, support tools, web applications, custom CRMs, and data integration tools make up just a fraction of our previous experience in developing custom software.
iPhone / iPad Apps
A great new option to consider for your company: a content-driven iOS application that extends your website and brand to mobile customers. The ubiquity of mobile apps is undeniable, and Computol can translate your website experience into a mobile app that helps customers, fans, and colleagues get the most from your business. Whether you want to provide convenient access to your services or want to help build brand loyalty, Computol can work hand-in-hand with you to build a great mobile application.
A large and unique website can only go so far unless you have the ability to edit, change, and update content. Sitecore - a flexible, scaling, .NET-based content management system - provides a great platform for managing medium and large websites. Powerful features such as content workflow, mulit-user control, and process customization make Sitecore an attractive platform for deploying a variety of single or multi-site brands.
Computol’s developers are intimately familiar with Sitecore and ready to answer your questions.
Beautiful Web Design
It should be no surprise to readers of the Computol blog that we love responsive web design. Since early 2012, we have been focusing to make all of our new and refreshed customer website responsive. We also love modern, sleek, bold designs (read: The Verge, World Wildlife Foundation, Microsoft.com, all circa 2012). Our team creates designs that are accessible, standards-compliant, and performance-focused - all features that add up to a fantastic website.
Our development process is iterative, agile, and fast. We produce demos and mock-ups right from the get-go of a project, iterate based on customer feedback, and work towards a final design - and ultimately a final product - hand-in-hand with our customers.
Interested in talking more about our software and web solutions? Email us at firstname.lastname@example.org to get a conversation started.
For all you developers out there, here is a hilarious and insightful look into some of the worst coding practices forced onto various programmers. Worth a read if you have ever asked yourself “why do we have to do it that way?”
I promise you never had it as bad as some of these stories.
Converting business prospects into customers is never easy.
When targeting consumers, casual visitors to your website can be the hardest to convert. How do you grab their attention and keep it through a sales process? What can you do as a website developer, marketing director, or media designer to ensure your website pops in a way that helps turn traffic into business? This article takes a look at some real-world examples (and for good measure, throws in plenty of statistics).
November’s Chrome Mobile Monthly featured an hour-long presentation by mobile web strategist and designer Brad Frost. Brad used the recent presidential candidates’ mobile websites to compare the differing strategies of mobile-specific sites versus responsive design. As you might expect, there are pros and cons to each, and Brad covers these very well.
The talk is full of interesting statistics (“31% of mobile-capable users access the web primarily through their mobile device”), great real-world examples, design breakdowns, and some solid Q&A at the end. Check it out.
"Solutions provider," "development shop," "technology support," "some kind of awesome" - call us what you want, but we like to think of Computol as your complete IT solution. We handle all sorts of needs: hardware, networking, software, and web development. We achieve this spread of services with two distinct teams - one for IT management, another for software development - that work closely with one another to get every job done right.
Another way of saying all this: we are quite simply a group of guys that love working together, and our office culture encourages the kind of collaboration that benefits our customers. Over the next couple of weeks I want to take a look at what Computol has to offer on both sides of the aisle. First up: IT solutions.
You can view our major IT services on the Network Services section of our website. Here is an informal look behind some of the marketing jargon:
Not every small, medium, or large business can or wants to afford a $75,000 / year IT guy. One addition to payroll may not always be able to keep up with demands of a growing business. Many of our clients have found that hiring Computol to provide all of their IT needs is far cheaper and more efficient than having a dedicated technology staff.
In 2012 we have deployed a major new monitoring platform that lets us integrate many common IT services into your business. Remote management, data backups, virus protection, service ticketing, and network engineer availability are some of the best features of this new platform.
Every single person at Computol knows their networking - it just so happens that the IT team is really, really good at it. They are extremely capable of designing new networks, altering existing networks, and recommending equipment, setups, and configurations that suit businesses of all sizes.
Sometimes a small issue is holding up a user. “Why can’t I view this PDF?” Maybe your company needs a new PC as soon as possible. Is a business-critical machine down all of a sudden? Our IT guys cover all these situations and quite a bit more. Point in case: Computol wants to help bridge the gap between people and technology, and we make ourselves available to assist anyone and everyone.
Computol’s love of the web extends to every corner of our business. We are firm believers that voice-over-IP technology (VOIP) can provide substantial productivity and cost benefits to businesses of all sizes. Early in 2012 we began running part of our own phone system on VOIP technology, and we love the available features and cost savings it is providing. We hope to extend our telephony success to our current and future customers.
Spam email, malicious software, and hackers are common threats to modern businesses. At one level these threats are small annoyances to productivity, but they can also be major problems that can bring your business to a halt. Computol’s protection solutions include consultations, the latest spam filtering tools, virus protection, and hardware firewalls to help keep the shady portions of the Internet out of your business.
For an information-based business, having business-critical data sitting unprotected is generally a bad idea. Data loss can occur many ways, but the biggest threats include hardware loss and forces of nature (building fire, flood, etc.). The most common threat is in fact hardware failure - sometimes things just stop working. This is especially true of hard drives - where your data is likely stored - so a robust backup solution is critical. Computol provides robust data backup services that can protect and replicate data to provide peace of mind.
Hardware Sales & Support
Computol offers plenty of options for sales and support of computers, servers, and mobile devices. Need a laptop or two for your business? A new server? Office phone suggestions? Windows 8 tablet advice? From initial curiosity to installation to extended support, Computol covers every piece of the pipeline, providing your business with a consistent and high-quality IT purchasing experience.
There is more to responsive web design than just arranging content to be convenient for multiple screen sizes and shapes. There is that “design” word in there, and in late 2012 I have definitely seen a shifting trend in web designs that truly focus on mobile-first ideals. I see less focus on resizing content and more focus on reshaping content in tandem with complex designs that help maintain a website’s own unique look.
This article looks over some moderately complex design patterns that all web developers should be familiar with.
Responsive images are a big deal when developing a responsive web design. Until the <picture> element is finalized and widely deployed, images will continue to be a big deal.