Pages

Sunday, October 16, 2016

Website Designer/Developer Job in Lagos at ZOCODE Limited

ZOCODE Limited is established is a Business Resources Provider, we to deliver corporate solutions in Training, Process and Business modeling and Automation using Software.

We tell less stories and deliver more results. One of our values is "Customer Satisfaction"

ZOCODE Limited is recruiting to fill the job position below:

Job Title: Website Designer/DeveloperLocation: LagosJob Descriptions

  • We are looking for an outstanding Web Developer to be responsible for the coding, innovative design and layout of our website jobs.
  • Web developer responsibilities include building our website from concept all the way to completion from the bottom up, fashioning everything from the home page to site layout and function.
  • Responsibilities

  • Write well designed, testable, efficient code by using best software development practices.
  • Create E-commerce website.
  • Be responsible for maintaining, expanding, and scaling our site
  • Stay plugged into emerging technologies/industry trends and apply them into operations and activities
  • Cooperate with web designers to match visual design intent
  • Create website layout/user interface by using standard HTML/CSS practices
  • Integrate data from various back-end services and databases
  • Gather and refine specifications and requirements based on technical needs
  • Create and maintain software documentation
  • Requirements

  • Proven skill in web programming.
  • Programming skills and in-depth knowledge of modern HTML/CSS
  • A solid understanding of how web applications work including security, session management, and best development practices.
  • Familiarity with at least one of the following programming languages: PHP, ASP.NET, Javascript
  • How to ApplyInterested and qualified candidates should send their Application and CV's to: [email protected]

    Application Deadline  31st October, 2016.


    Source: Website Designer/Developer Job in Lagos at ZOCODE Limited

    Saturday, October 15, 2016

    How do engineers design today’s astronomically complicated cars? Using these tools

    Last week, the U.S. Department of Transportation and the National Highway Traffic Safety Administration released a policy statement about self-driving cars. U.S. Secretary of Transportation Anthony Foxx boiled it all down to this: "The self-driving car raises more possibilities and more questions than perhaps any other transportation innovation under present discussion. That is as it should be. Possessing the potential to uproot personal mobility as we know it, to make it safer and even more ubiquitous than conventional automobiles and perhaps even more efficient, self-driving cars have become the archetype of our future transportation."

    There's a lot more, and you can download the whole document here but the take-away you care about is that the government recognizes that fully self-driving cars are coming, and it's time to decide how they're going to work, not whether they're going to be allowed.

    The modern automobile is dramatically more complex than any vehicle in history. The Saturn V rockets that took men to the moon were wind-up toys compared to the 100 million lines of code embedded in a modern Mercedes-Benz. That fact puts software companies front and center when it comes to developing your next car. To take a deep dive, we took a look at the software that never makes it into the car, but which allows the engineers to design the systems that make your new car work properly and meet a phonebook-thick set of technical requirements.

    Building the Tools

    Mentor Graphics is an old software company with deep roots in the integrated circuit design business. Quite by accident, the company got into automotive electrical systems design.

    "Freightliner took our tools and used them for something they were never intended for," says Mentor's CEO Wally Rhines. "They developed the original wiring tool, which was called L-Cable at the time. That later evolved into the Capital electrical systems design product family."

    Autonomous vehicles are expected to be a $25 Billion market by 2020.

    Today, about 20 percent of Mentor's revenue derives from automotive electrical design tools, with fingers into automotive connectivity, secure vehicle communications, autonomous vehicle design, active noise cancellation, and electric vehicle developments. The company has created a division known as Mentor Automotive to handle the growing business.

    "It happened over a period of time, not because the automakers wanted to, but because they couldn't design the next generation of cars by hand," Rhines explains. "What happens as cars, planes, trains, put more electronics in? When do they get to the point where people can't do it by hand anymore? When do they move to virtual design and simulation? It came very slowly because automotive companies don't change easily. Over time, we built a significant portion of our business just doing electronics for cars."

    Andy MacLeod is Mentor Automotive's Director of Automotive Marketing, and he's a deep thinker in Mentor's automotive strategy.

    "We're engaged with 17 of the top 20 OEMs (Original Equipment Manufacturers), which is a strong global footprint," MacLeod says. "And we're very much aligned with the specific challenges faced by OEMs in emerging areas of automotive technology."

    Related: Your next car will update itself while you sleep, and maybe watch you too

    Those emerging areas loosely break down to connectivity, autonomous driving, and electrification.

    "One third of US cellular subscriptions in Q1 of 2016 were for cars," MacLeod explains. "Automotive connectivity is now a trillion dollar business in America."

    electric car charging

    To translate that into different numbers, about five percent of new vehicles sold in 2014 included connectivity in excess of a Bluetooth smartphone connection, meaning that the car itself is capable of receiving a 4G/LTE data signal. The automotive industry expects that percentage to grow to 57 percent by 2019, and 89 percent of all new cars sold by 2024.

    "If you look at some of the security challenges, We have to have a hardened operating system," MacLeod says. "Whenever there's a risk, that has to be patched immediately, and not once a year when the car goes in for service. That means propagating security software patches over the air."

    Electric Mobility on Demand

    Another area where electronics design software comes into play is autonomous or self-driving cars, including a business area that the industry calls Mobility on Demand.

    "Mobility on Demand would be Uber Robo-taxis, for example," MacLeod says. "You could call up an app on your smart phone, or the car could even connect to your calendar and then appear and take you where you're going. Also, it's the concept of buying trips rather than buying vehicles. It's all a part of New Mobility."

    The world is ripe for change, and that's why it's exciting. It creates jobs.

    Autonomous vehicles are expected to be a $25 Billion market by 2020. That's why new players such as Mentor Automotive are springing up to take the auto industry into the New Mobility era.

    "The whole supply chain is being redefined," MacLeod explains. "There's investment coming in from non-OEM supply chain players – cloud computing and big data analytics of course, deep learning and artificial intelligence, and government money especially. The value of new mobility will be measured in trillions, so investment money is coming because there's an opportunity to modify this in a big way."

    By 2040, industry experts believe that 35 percent of new vehicle sales will be battery electric vehicles. The shift is already underway, moving in fits and starts as development efforts produce advancements and the global oil market and geopolitical situation fluctuates. Mentor Automotive's clients now include Tesla, electric motorcycle manufacturer Brammo, and electric bus maker Proterra.

    "When you bring in electrification, all of a sudden you have a multiple voltage domain," MacLeod says.  "So it's not just 12 volts any more, it's 48 and 115 and sometimes all three in the vehicle. There's a pyramid of engineering challenges.

    The Paperwork Challenge

    As if it wasn't enough of a challenge to integrate connectivity, autonomy, and electrification into an automobile, there's another hurdle to pass before new mobility makes the leap from the lab to your driveway. Because modern cars are so complex, and the automotive industry is among the most tightly regulated and product-liable industries in the world, there's a mountain of product requirements paperwork to manage for even the smallest features. Automakers need to make sure that multiple marketing, engineering, and regulatory needs have been met, and they have to be able to prove it.

    "Think about everything involved in delivering a product," says Eric Nguyen, Vice President of Demand Generation at Jama Software. "We manage everything from high-level documentation of requirements all the way down to design specifications, testing and verification. We tie all that information together in highly compliant or regulated industries like aerospace, automotive, or medical."

    jama-logo

    Jama Software is just one of dozens of companies formed to help automakers manage complex requirements tracking challenges

    Jama's product allows the company's clients to set up each specific product requirement with a web of dependencies and relationships to facilitate verifying that the requirement has been met, and also to monitor the effects of development on other product requirements.

    "At the end of the day, we document that everything a product is supposed to do, it does. And everything it's not supposed to do, it doesn't," Nguyen says.

    Jama's CEO is Scott Roth, and he sees a wide open playing field ahead.

    "There's an opportunity that's unfolding in the marketplace," Roth says. "Every single company that's building products is figuring out how to build software and connectivity into them. That opens the door wide for us."

    A Practical Example – Noise Cancellation

    So, why should you care about software companies working behind the scenes? Because without them, the features you want on your next car probably won't happen.

    "The days of solving a problem individually are finished," MacLeod insists. "Now it's, how do all these things interplay and conflict with each other in their requirements. How do you simulate that and solve for all these challenges?"

    Among the projects that Mentor is working on is assisting automakers in zeroing in on noise cancellation technology. While this will appear first on premium luxury vehicles, the underlying benefit is actually in improved fuel economy for all cars.

    The Saturn V rockets that took men to the moon were wind-up toys compared to the 100 million lines of code embedded in a modern Mercedes-Benz.

    "Our solution does two things," explains Anil Khanna, Senior Product Marketing Manager at Mentor Automotive. "We tackle engine noise cancellation, but we're also looking to cancel road noise. This is an altogether different beast, because road noise is extremely random, it depends on the road surface, and it changes every second."

    To handle a dynamic challenge that requires a predictive solution, you need sophisticated software modeling.

    "We need an algorithm that is extremely quick at adapting and reacting to noise sources," Khanna says.  "We have a solution and we're working with some automakers to get this into production, but there are cost issues that need to be addressed."

    The solution integrates a software solution with the automobile chassis and sensors.

    "Noise is nothing but vibrations until it reaches our brains," Khanna says. "So we actually mount sensors under the car so we can pick up vibrations as they travel through the chassis and the body into the cabin, and that becomes our reference source, which we want to cancel out. Those sensors, unfortunately, are very expensive and cost-prohibitive to install in a production vehicle. But as technology gets better it becomes cheaper, so it's coming."

    Active road noise cancellation will allow automakers to reduce the amount of passive sound dampening in any given car. At the current time, an average passenger car carries between 50 and 100 pounds of sound dampening material. If cars can be made lighter, they also become more fuel-efficient and offer better performance.

    Companies like Mentor and Jama are providing the software expertise to allow the automobile manufacturers to create the next generation of technology features that will ultimately be found in all cars. Projects like self-driving cars, advanced wireless connectivity, and electrification require new work in artificial intelligence, electrical system design, and software security.

    "The world is ripe for change," Rhines says, "and that's why it's exciting. It creates jobs."


    Source: How do engineers design today's astronomically complicated cars? Using these tools

    Friday, October 14, 2016

    Virtual Panel: Document and Description Formats for Web APIs

    Key takeaways
  • Documentation and description of Web APIs will form the foundation of developer understanding in the coming years.
  • The dreamed-of future where machines browse the Web (and it's APIs) for us discovering content, executing tasks, and building out new systems of understanding for ourselves, remains an ideal.
  • Discovery, which surrounds both documentation and definition formats, is a mostly untapped space which should see continued growth in the coming year.
  • Documentation formats will remain largely human-focused and human-generated.
  • Definition formats may become more "browsable" by machines and there may yet be hope for the machine-to-machine, discoverable, executable API.
  • The vast majority of Web APIs are collection idiosyncratic endpoints and (typically, these days) JSON-based data formats that are as unique as the people who make them. Finding one's way through this ever expanding maze can be both daunting and discouraging. However, in the past few years there has been a related rise in both documentation and description formats for this constantly expanding space.

    In this virtual panel we'll hear from four individuals deeply involved in the Web API space. Each of them has a unique take on the values, benefits, and costs of documentation and description formats in general, and provide their own unique perspective from their vantage points across the Web. At times, the distinction between documentation and description formats blur. At other points, it's clear to some of these panelists that they each have unique (and important) value to developers. Collectively they are confident of one thing: something must be done to help developers find their way through the world of Web APIs.

    The panelists
  • Lorinda Brandon – Senior Product Manager at Capital One DevExchange
  • Zdenek Nemec – Director for domain specific languages, product manager and research lead for API design at Apiary
  • Ruben Verborgh - Researcher in semantic hypermedia at Ghent University – iMinds, Belgium and a postdoctoral fellow of the Research Foundation Flanders
  • Mike Amundsen - Director of API Architecture, API Academy, CA Technologies
  • InfoQ: Why are API description formats needed?

    Lorinda Brandon: Honestly, I wouldn't say they are 'needed'. We made do with WSDL and WADL for a long time (maybe we should consider that a description format too) – and if you are unfortunate enough to be integrating with SOAP APIs, you can still get your work done without one of the modern description formats. So, rather than saying they're *needed*, I would say they're desirable. And that's because, first, they help communicate your API's capabilities and, second, they make it easy to adopt your API.

    Zdenek Nemec: Description formats enable structured discussions about APIs. They make API design tangible, they provide blueprints engineers and contracts for stakeholders. Let me illustrate this on my "email" story:

    About 4 years ago, my friend Paul and I were about to create a brand new iOS app backed by an API. I was working on the client and Paul on the server side of this project.

    One day I've sent an email to Paul asking whether our API can do "AB" and "C". Paul replied "Sure Zdenek, but what about instead of doing C we would do D and while we are at it we can tweak B to work like this…". I liked what Paul suggested and immediately replied back with few more tweaks. Three days later we ended up with over 30 emails in the conversation. Sure, we were doing the API design over email. Sure, we have had there what were going to build. Sure those emails were our contract on what we agreed on, but good luck unwrapping the conversation! It was almost impossible to get a clear concise picture on what that API should be like.

    That was the moment when I've realized there must be a better way to have this kind of discussion.

    Ruben Verborgh: There exist different interpretations of "API description format", and each of them has their own justification. As two main categories, I see "descriptions targeting developers" and "descriptions targeting machines".

    API descriptions for developers make client development easier and faster through features such as documentation, autocompletion, and auto-generation of boilerplate code. They go back all the way to SOAP APIs with the WSDL format, and are now continued for regular HTTP APIs by efforts such as OpenAPI (formerly Swagger) and API Blueprint. In essence, these provide a hard-coded contract between a client and a server, with as a main benefits programming language independence and developer friendliness.

    In contrast, API descriptions targeting machines aim to facilitate the usage of APIs by automated clients. Rather than auto-generating boilerplate code at design time, they provide interpretation of an API at runtime. The Hydra Core Vocabulary is an example format, which allows a client such as the Hydra Console to discover at runtime what resources and operations an API supports. This is necessary because, unlike humans, machines are not good at figuring out how websites work.

    Mike Amundsen: First, I'll say that I think there are a couple things going on in the API Description area — what i refer to as the "API metadata space" — that need to be separated. For example, I think there are distinct differences between API description formats like JSONHome, ALPS, and APIs.json and the various API definition formats like Swagger (OpenAPI), RAML, and API Blueprint. I think most people are thinking about Swagger/OpenAPI, RAML, and API Blueprint when they use the phrase "API Description" — that's fine, but I think it's important to take in a larger picture here.

    Formats like Swagger, et al define things like URLs, resources, message formats, and other details of a single Web API. You can usually take these definitions and generate a working service interface; sometimes you can use the same definition to generate a working client app, too. That works because the specs are designed to define the details of an implementation. And that, of course, can cut down on the amount of up-front coding people need to do in order to get a working Web API up and running.

    Formats like APIs.json, ALPS, and JSONHome do something else, though. They actually only describe the interface generally. It is not possible to use one of these formats (alone) to generate a working service or client app. It is possible, however, to use these formats to get an understanding of the protocols, media-types, and vocabularies supported by the services. I like to say that APIs.json and ALPS, etc. can be used to describe a class of Web APIs (e.g. shopping, user management, etc.), not just a single implementation (e.g. the Foxycart shopping API).

    And, to get back to your question, I think both of these format types are needed on the Web. We need a way to define Web APIs in a specific way in order to create working implementations. We also need a way to describe Web APIs in a general way in order to support online discovery and interaction. In my mind, these two classes of metadata about APIs (definition and description) compliment each other.

    InfoQ: Does having a description format obviate the need for hypermedia (or is it the other way around)?

    Zdenek Nemec: I'd say neither. You need to have some way to discuss an API being build regardless of its architectural style. On the other hand, you want to capture the architectural style IN the API description. Understanding the selected architectural style of an API is one of the essentials for the API to succeed in a long term. Unfortunately most of nowadays API description formats are effectively prohibiting certain architectural style and pushing towards, often suboptimal, paradigms and patterns. This is especially true when it comes to the REST (hypermedia) architectural style (for example, see Benjamin's article on content negotiation).

    We (at Apiary) have done some research on whether a certain API description can turn a non-hypermedia API to a hypermedia API. And while we've found out this would be–to some extent–possible, it isn't viable at the current course of the API industry.

    Ruben Verborgh: We need both if we want clients to perform complex operations in a flexible manner and without hardcoding.

    Hypermedia controls serve a double purpose: they allow people and machines to look ahead a single step at a time, and provide all details necessary to execute that next step. For example, when using a shopping website, the various links and forms will let you choose items to add to your shopping cart. The "checkout" button will contain the details about the HTTP request my browser needs to execute to proceed with ordering. So if we don't want to hardcode URLs and requests in clients, we also need to rely on hypermedia controls.

    Descriptions instead allow clients to look ahead multiple steps, by listing the possible actions per resource in advance. We don't need this as humans, because we intuitively have expectations of what will come. For example, we know that a webshop will ask for our address and billing information at some point (even though we don't know the exact order). Automated client do not have such native expectations, so if we want them to plan multiple steps ahead without resorting to hardcoding, we must describe these steps explicitly.

    Mike Amundsen: No. The use of Swagger or RAML, etc. in defining an API does not have a direct bearing on whether the actual runtime implementation of a Web API has (or does not have) any hypermedia aspects. The use of hypermedia is completely independent of definition or description formats.

    I will say that, to date, none of the definition formats seems to do a very good job of supporting hypermedia-style implementations. I'd like to see more support hypermedia but, at least for now, the "big three" formats take a resource-centric approach to defining Web APIs — that happens to currently be the most popular approach.

    I think there are some great opportunities in the ability to use definition formats that support an action-centric approach — one that starts with defining actions like add, edit, approve, share, etc. using links and forms and then allows developers to combine these action elements into sets that appear within resource responses. But that'd be quite different from the current collection of API definitions. Think of what it would be like to define HTML responses with <a href="..">…</a> and <form action="…" method="…">…</form> elements within the response. We don't have that level of definition yet.

    InfoQ: RESTful Web Services have gone a long time without description formats - now the list is growing quickly - what's caused all the excitement?

    Lorinda Brandon: I think you can largely attribute it to the API boom – with so many APIs out there, developers need to be able to choose the right one quickly but more importantly, so do non-devs. Often a Product Manager is choosing the API to integrate with and they don't want to wade through a WADL file. It's almost like technical marketing for your API – instead of a feature description, you put your API description out there and let it do the talking for you. And the tooling that surrounds the descriptions makes them even more powerful because outsiders can often try it out and see the response for themselves.

    Zdenek Nemec: The answer is speed (and therefore the cost) of development. As my "email" story explains, you can do API design without API description formats. But now there are much more effective ways to design an API than long meetings, piles of emails and Word documents.

    Furthermore using an API description format can give you a lot more than "just" a framework to talk about APIs. You can avoid waterfalls and dramatically improve your API flow with quick prototyping, testing, painless documentation and more.

    Both developers and stakeholders realize this and that's why we see the adoption growing.

    Ruben Verborgh: From a positive viewpoint, I'd say a growing interest in client development.

    On a more pessimistic note, I'd say that the uncontrolled growth of APIs and lack of interface reuse makes them a necessity. We now have tons of APIs doing highly similar things, but their interfaces are wildly different, necessitating fresh development every time. For example, Facebook, Twitter, and Instagram all allow posting a status with a picture, yet their interfaces are completely different to the point that their clients are incompatible. In that sense, (developer-targeted) API descriptions only offer relief for symptoms. They do not cure a root problem of APIs, which is that every API designer reinvents the wheel over and over again, making client development without descriptions unnecessarily cumbersome in the first place.

    Mike Amundsen: Yes, the list is quite long. And that list has been around for a long time, too. Back in 2013 I did a talk for RESTFest Greenville on the topic ("Describing the Possible") and was able to identify a dozen definition/description formats dating back for more than fifteen years. WSDL was released in 2001 and we've had many Web-oriented interface definition languages (IDLs) since then. I think we are seeing a burst of activity today because there is a perceived need — that's good news.

    All these IDLs are children of their times, so to speak. The ones from the 2000s are primarily XML-based and the most recent crop of definition formats are JSON- or YAML-based. And, despite the change in the serialization formation, I think most of the recent work on Web IDLs is following in the footsteps of WSDL and WADL. They are defining a tightly-coupled, strongly-typed interface for making remote procedure calls over HTTP. I think there is another approach from the past typified by XMDP (2003), AtomSvc (2007), DCAP (2009) and others. This approach is most closer to describing the interface in a general way — something that I think is much more in keeping with the way the Web works.

    So, while I see excitement in the API metadata space, I also see a duplication of past attempts — attempts that didn't fair so well in the long term. I hope our future direction will take us beyond the classic "early-binding" model we saw in SOAP-style WSDL and WADL and lead to more "late-binding" patterns from AtomSvc, JSONHome, and others. That late-binding approach can, I think, point to powerful future for interoperable, reusable services on the Web.

    InfoQ: Do you see API Documentation and Description formats as a single thing? Or multiple things?

    Lorinda Brandon: Oh I love this question. I think originally we all envisioned a description file as being the only thing you need. And in some cases, that may be true … but there's a lot more to implementing an API than just that. At Capital One, we're investing deeply in what we call "rich documentation", which includes all the information you need to use the API. Much of that information is not included in the description file – things like Hello World instructions, Terms of Use, branding guidelines where they exist, authentication model explanations, reference apps and tutorials, etc.

    Zdenek Nemec: There are definitely two different things. But truth be told, the initial incentive for the use API description formats was definitely the vision of API documentation without much work. However, the tide is turning as more and more people are discovering the benefits of the upfront design, API contracts and quick prototyping.

    Ruben Verborgh: They are different things. Documentation should barely be necessary, since APIs are just the machine equivalent of websites—and you don't need a manual for a website either. I see developer-targeted description formats as a transitionary measure, until APIs start learning from each other's design, just as websites do. In my opinion, machine-targeted descriptions are the way forward.

    Mike Amundsen: I see "Documentation" as designed for human consumption and "Description" and "Definition" formats being designed for machine use. I don't think it is a good idea to conflate the two. And there is quite a bit of work needed to make documentation usable, reliable, and powerful. Documentation that focuses on defining a set HTTP URLs, methods, and return codes is a poor substitute for human-centric text that includes elements like "Getting Started", "Basic Concepts", and "Examples" that are often left out of human-readable documentation. Other topics like "Compliance", "Extensibility", and "Backward-Compatibility" are very important — especially to client-side developers who will be consuming the Web API and I don't often see them in API documentation.

    So I think we need better human-readable documentation and I don't think auto-generating it is the way to go. One group that seems to be doing some great advocacy for documentation is the "Write The Docs Community". I like what they are talking about and hope to see more chapters of this community appear around the world.

    I think description formats like the ones I mentioned earlier need to be optimized for machine use. One way that these formats can be used is to support runtime discovery on the Web. Developers should be able to create components that can "find and bind" to existing services on the Web at runtime, not just as design- or build-time. And that requires well-designed machine-to-machine formats.

    InfoQ: Do we need indexing services for these formats? If so, what should developers hope for from them?

    Lorinda Brandon: Ideally, it should be easy to discover an API using a standard search mechanism like Google. We already have easy ways to find content on the web and ways to mark content as "not indexed". It shouldn't be so difficult to find this information – right now, you have to go to one of the API directories with your fingers crossed that the provider registered their API there but none of the directories are vendor-agnostic so you end up with a bit of bias about what's listed there. Or you have to stumble over someone's API portal because you put just the right thing in a search box. A couple of years ago, Kin Lane and 3scale tried to solve this problem with APIs.json and I think people really embraced the concept.

    The challenge is getting everyone to adopt the format. It would be ideal to have the community move forward a bit more on this conceptually so APIs can be more easily discovered by the consuming developer community.

    Zdenek Nemec: We need a way for public resources to be discoverable and accessible. This is no different to Berners-Lee original motivation for which he has built the web. This is our ultimate DNA. The remix culture that makes us to take something somebody has build before, mutate it or mix it with something else and create something better.

    Developers excel at this. Looking at existing code learning from it and then infuse it with new ideas and possibilities. When it comes to this API descriptions are no different to code. And if this is done right, making all the known and unknown resources available and interconnected could spark another "internet revolution" that has happened with the world wide web.

    Ruben Verborgh: Indexes for machine-targeted API descriptions are useful, more or less like a Google for automated clients. We should expect clients to find services with a certain functionality there. For developers, Google seems largely sufficient.

    Mike Amundsen: Yes! I think there is a huge opportunity to improve the reusability and reach of existing Web APIs when we start designing and building them to discover and interact with each other at runtime without extensive human intervention. This is, I think, where the real value of machine-based description formats can be unleashed.

    I am especially encouraged by the work the APIs.json team has been doing here. They are collecting and exposing the properties of a Web API that will be important when attempting to create connections between components. The team has created a search engine called "APIs.io" that works well for human discovery and I see lots of good things coming from their work.

    Mark Foster, Leonard Richardson, and I have been working on a similar project — the Application-Level Profile Semantics or ALPS specification — as a way to create high-level descriptions of Web APIs that are not tied to any single protocol or media type. I think the combination of APIs.json as a way to communicate the metadata for the service and ALPS as a way to communicate the service capabilities can be a powerful combination for supporting indexable runtime discovery on the Web.

    InfoQ: Where should a curious developer begin their API description and documentation research?

    Lorinda Brandon: People always ask me this and I find it hard to answer – not because there aren't places to start but because there are *so many* places to start. We're a chatty bunch in the API world. Here are some resources to begin with:

    Zdenek Nemec: GitHub already recognizes API Blueprint as a language so you can search for open sourced API description written in this format directly. And even the other formats shouldn't be that hard to find as they usually use a certain file name. Of course quality of API description (and APIs!) differs. This is where the indexing and some sort of pagerank for APIs should come into the play.

    Ruben Verborgh: It depends on what their goals are. In the short term, OpenAPI and others will be handy to speed up development. But I see these as solutions to a temporary problem. In the mid to long term, I hope to see more client-focused formats that will deprecate developer-focused boilerplate code generation and SDKs. Developers interested in a more intelligent generation of clients are warmly welcomed to the Hydra Community Group.

    Mike Amundsen: I think a great starting point for those interested in getting a broad view of the API metadata space is the InfoQ series "Description, Discovery, and Profiles - The Next Level in Web APIs". There is quite a bit of good stuff in there from many points of view. Digging into the history of interface description languages (IDLs) in general and on the Web in particular can also be helpful to see where the industry has been in the last fifteen years and where new opportunities exist. Of course, learning the details of the currently-popular definition formats (Swagger, RAML, API Blueprint) is important as is exploring the newer description formats like APIs.json and ALPS.

    There is quite a bit of working going on in the field of API metadata and I am optimistic that it will lead to improved runtime discovery and the ability to "find and bind" to services on the Web.

    Conclusion

    Documentation and description of Web APIs will form the foundation of at least developer understanding in the coming years. The dreamed-of future where machines browse the Web (and it's APIs) for us discovering content, executing tasks, and building out new systems of understanding for ourselves, remains as wonderful an ideal as it ever did in the late '90s. It remains to be seen if the architects and builders will collaborate closely enough to build it.

    In the meantime, it seems prudent to expect some ebb and flow within this space. The shapes may change, but the objectives will remain the same: providing the shortest distance to success for all involved.

    Discovery, which surrounds both documentation and definition formats, is a mostly untapped space which should see some continued growth in the coming year. Documentation formats will remain largely human-focused and human-generated. Definition formats may become more "browsable" by machines and there may yet be hope for the machine-to-machine, discoverable, executable API.

    Until then, these panelists have given us a clear sampling of the thoughts behind these hopes, dreams, and data formats.

    About the Panelists

    Lorinda Brandon is Senior Product Manager at Capital One DevExchange. She has more than thirty years of experience in software development and has worked for companies such as SmartBear, RR Donnelley, EMC, Kayak Software and Intuit, among others. She has a particular passion for APIs and software testing, and has published extensively on InfoQ, Programmable Web, and Network World on the importance of both APIs and enabling the delivery of high-value software.

    Zdenek Nemec currently works at Apiary as the Director for domain specific languages, product manager and research lead for API design. He is a computer systems researcher, creator and architect. Zdenek is the author of the innovative API description language API Blueprint and also the author of the data modeling language MSON. His background is in the distributed systems, client development and user experience design. Zdenek loves to interact with users and help them create things one couldn't even imagine before.

    Ruben Verborgh is a researcher in semantic hypermedia at Ghent University – iMinds, Belgium and a postdoctoral fellow of the Research Foundation Flanders. He explores the connection between Semantic Web technologies and the Web's architectural properties, with the ultimate goal of building more intelligent clients. Along the way, he became fascinated by Linked Data, REST/hypermedia, Web APIs, and related technologies. He's a co-author of two books on Linked Data, and has contributed to more than 150 publications for international conferences and journals on Web-related topics.

    Mike Amundsen is Director of API Architecture, API Academy, CA Technologies. In his role of Director of Architecture for the API Academy, Amundsen heads up the API Architecture and Design Practice in North America. He is responsible for working with companies to provide insight on how best to capitalize on the myriad opportunities APIs present to both consumers and the enterprise. Amundsen has authored numerous books and papers on programming over the last 15 years. His last book was a collaboration with Leonard Richardson titled "RESTful Web APIs" published in 2013. He is currently working to complete a new book - "RESTful Web clients" due out from O'Reilly in 2016.


    Source: Virtual Panel: Document and Description Formats for Web APIs

    Thursday, October 13, 2016

    New Release of Gridraw for Drawing a State Machine Diagram

    Now the Gridraw series supports three UML diagrams - class diagrams, sequence diagrams and state machine diagrams.

    Tochigi, Japan - October 14, 2016 - (Newswire.com)

    ​​​​​Gridraw Inc. of Utsunomiya Tochigi, Japan, has just released Gridraw software for drawing state machine diagrams. The Gridraw series of UML drawing tools features innovative usability and lightweight performance. Gridraw now adds a state machine diagram capability to an already impressive lineup that includes class and sequence diagrams. Gridraw software is supported by Windows platforms and can be downloaded from our web site.

     What is a state machine diagram

     A state machine diagram expresses transitions of states and is mainly used in software design. Many tasks require managing states with appropriately designed software. For example, in a smart phone, states such as "sleep mode" or "normal mode" are managed inside the phone's software. A state machine diagram identifies what conditions involve changes from one state to another and what process is to run at the time of the change.

     An approach that feels like programming

     Until now, special software or office software has been used to draw state machine diagrams. With such software, the diagramming operations (positioning, sizing, etc.) are generally carried out by use of a mouse, while inputting text is done from a keyboard.

     In Gridraw, the user can perform all of the operations, including the diagram operations, by using only the keyboard. As a result, it is possible to construct a state machine diagram in the manner of programming, using an approach that is more familiar to developers. The entire Gridraw series (which includes class diagrams and sequence diagrams) is equipped with this feature.

     The addition of an automatic saving feature

     The new Gridraw ver. 0.14 has added an automatic save feature that automatically saves the working file every three seconds if it is being changed, and saves the file automatically on exit. In this way, the user no longer needs to worry about losing edits because of an unfortunate crash or inadvertent shutdown of the tool or the PC.

     What is Gridraw

     Engineers often feel that designing software is a troublesome task. This sentiment is reinforced by a belief – arising from the notion of an agile process – that what is most important is the runnable (executable) artifact. This erroneous interpretation of what is meant by an "agile" process mistakenly relegates design to a secondary, less important level. In response, Gridraw offers engineers comfortable usability, challenging the notion that software design is a burdensome chore. Gridraw improves the quality and speed of design and enables the user to quickly visualize the design, even in a pressurized environment requiring agile development. It enables sharing, consensus building, and verification of the design, enhancing the overall quality of the product.

     In order to maximize usability, Gridraw has adopted an innovative new UI, using a cell system similar to a spreadsheet. We provide a comfortable design tool featuring a real-time automatic layout capability, full operability from the keyboard, and a system that is simple and lightweight.

    Related LinksDownload

    Press Release Service by Newswire.com

    Original Source: New Release of Gridraw for Drawing a State Machine Diagram


    Source: New Release of Gridraw for Drawing a State Machine Diagram

    Wednesday, October 12, 2016

    Best Software to Create Website and Photography Mockups

    Before getting into the software side of things, you need to learn what mockup is about.

    According to Wikipedia, when it comes to design and manufacturing, it is the full-size or scale-model of a particular device or design that will be used for design evaluation, demonstration, promotion, teaching and other reasons. It is considered a prototype if it offers at least an aspect of the system's functionality and that it enables the design's testing.

    What are these mockup tools? The definition of a mockup might blow up some other's mind, but here are some things to keep it simple. Say, for example, you just captured an amazing video with your smartphone or got some cool photos with your DSLR and want to put them up to any social media site you can think of. However, that may be easy to do; you've got to at least arrange them all in a single source where people can view your work, and most designers create their website.

    But not all designers are that knowledgeable about creating a website that complements with rich media. To create a professional looking website, expert website designers make use of the mockup tools so as to analyze the functionality, design, and layout. It will be to your benefit if you take advantage of such applications, in which some of them are free to use.

    Using Mockup Tools A couple of mockup tools that takes the top of the list include the following:

    Mockingbird - instead of a mockup, this is a wireframing application that comes with some functionality used for sharing and linking all of your mockups. This is designed for the purpose of prototyping.

    Mockup Editor - if you prefer to easily create your own mockup without having to install it on your computer, this is your app. It supports high resolution and with free support for all their customers. They even give you a 100% money back guarantee.

    It's designed in letting you create a website, art, photography or software mockup, which afterward you can swiftly share it with your coworkers, friends or clients. It also offers a unique feature that allows you to upload images directly from Mockup Editor account to your Etsy.com shop.

    Balsamiq Mockups - available for Windows, Linux, Max and web-based applications at a price of $79. It enables users to easily and quickly create dynamic we bsite mockups.

    Using Graphic Design Editors There are designers out there that are die-hard fans of graphic design tools, which is much more complex than the mockup tools. You can find designers using both mockup and graphic design tools together since it works to their advantage. Some of the coolest graphic design software include Photoshop, Illustrator, and Sketch.

    Working with graphic design software gives you all the limitless possibilities of how your website will look like. Designers use this when they are working within restrictions of a preset and rigid color scheme, like with branding rules. Aside from color options, this kind of software also provide more visual tools, thus allowing designers to tackle even the smallest detail in their design.


    Source: Best Software to Create Website and Photography Mockups